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.

Reklamy

Co o tym sądzisz?

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s