Zaloguj się

Jog Jajcusia

xmpp:jajcus@jajcus.net

Powrót na stronę główną

Porządki w kodzie i na Joggerze

Wywaliłem z PyXMPP wsparcie dla Pythona 2.2 i spróbowałem użyć modułu datetime do obsługi timestampów. Okazało się, że jednak nie rozwiązuje on moich problemów. Zapewnia interfejs do zamiany czasu pomiędzy lokalnym a UTC, ale... tylko wtedy jak mu się poda klasy reprezentujące odpowiednie strefy czasowe. A Python w module datetime udostępnia jedynie abstrakcyjną klasę bazową. Resztę trzeba sobie napisać. UTC to nie problem, ale przecież nie będę pisał klas opisujących strefy czasowe wszystkich potencjalnych użytkowników CJC! Jest gdzieś w sieci moduł zawierający gotowe klasy, ale ja nie chcę dodawać kolejnej zależności, szczególnie, że przecież w systemie już jest informacja o strefie czasowej użytkownika.

Zajrzałem do dokumentacji glibc, żeby zobaczyć jak się to w C robi. Jest tam nawet potrzebna mi funkcja, nazywa się timegm, ale:

*Portability note:* `mktime' is essentially universally available. `timegm' is rather rare. For the most portable conversion from a UTC broken-down time to a simple time, set the `TZ' environment variable to UTC, call `mktime', then set `TZ' back.

Fajnie, że podali przenośny sposób, ale zastosowanie jego w aplikacji wielowątkowej to byłaby zbrodnia. A więc sposobu praktycznie nie ma. Jednak nie będę przecież użytkownikom pokazywał czasu UTC, więc zacząłem kombinować i nawet coś wykombinowałem: zamiana czasu UTC na lokalny medodą kolejnych przybliżeń. Z moich testów — z czasem letnim i zimowym z różnymi ustawieniami zmiennej $TZ — wynika że to nawet działa :-). Ciekawe jak bardzo przekombinowałem.

Dzisiaj, nie mając wiele do roboty w pracy, urządziłem bug fixing day dla CJC. Poprawiłem już dwa błędy zgłoszone na JS oraz kilka zgłoszonych przez Jabbera. Poczekam jeszcze na jakieś bugreporty i może zrobię kolejne wydanie PyXMPP i CJC. MUC jeszcze dość niekompletny, ale używalny, a wydać warto chociażby z powodu błędów poprawionych w stosunku do 0.4.

Oprócz porządków w kodzie zrobiłem też porządki na Joggerze. Uzupełniłem polecane Jogi o nowe pozycje i atrybuty title na linkach. Usunąłem też linki erotycznie, ale nie dlatego że nagle sporządniałem — po prostu nie chciało mi się ich uaktualniać. Poprawiłem jeszcze ostatnią notkę — zamieniłem - na w kilku miejscach. Od dziś postaram się trzymać zasad typografii. Z poprawianiem starszych notek byłoby za dużo roboty.


Komentarze

Dodaj nowy komentarz

Dostępne jest formatowanie Textile

Podpis:
Treść:
Strona WWW (opcjonalnie):
Wpisz kod:code
 
 

Śledzenie komentarzy (RSS) TrackBack URI


Jesteście obserwowani...