Zrobiłem w końcu stronę WWW dla
PyxMPP. To dopiero początek, ale na jakiś czas powinno starczyć. Zacząłem
też robić zestawy testów jednostkowym (opartych o PyUnit — moduł
unittest
) do testowania całości. Na pierwszy ogień poszło
pyxmpp.jabber.vcard
do którego już jakieś testy były i trzeba
było je tylko przerobić na PyUnit i uzupełnić. Oczywiście wyszło parę błędów,
które poprawiłem. Później pyxmpp.jabber.disco
, w którym chciałem
uzupełnić API, testy miały mi pomóc zrobić to tak, żeby nic nie zepsuć.
Pomogły, a przy okazji poprawiłem w testowanym module sporo błędów. Ogólnie
fajna rzecz takie testy i wbrew pozorom nie tak bardzo upierdliwa (mniej niż
uzupełnianie docstringów).
Dzisiaj zrobiłem jeszcze małą rewolucję. Wkurzało mnie już to, że
importowanie jakiegokolwiek modułu z pyxmpp
powodował
importowanie całości (prawie). Wynikało to z tego, że dla wygody developerów
pakiet pyxmpp
importował najważniejsze obiekty ze swoich modułów.
Od dłuższego czasu głowiłem się na tym, jak to rozwiązań nie tracąc tej wygody
i nie psując za bardzo kompatybilności wstecz i w końcu coś wymyśliłem. Teraz
samo z siebie nic niepotrzebnie się nie importuje, ale jak ktoś chce po
staremu, to wystarczy że raz sobie zaimportuje pyxmpp.all
, i/lub
pyxmpp.jabber.all
albo pyxmpp.jabber.all
(jeśli
któregoś z nich używa). W ten sposób chyba i wilk syty i owca cała.
Następnie zabrałem się za CJC. Wkurzało mnie długie ładowanie konfiga, okazało
się, że to przez częste wywoływanie logging.debug()
—
wywaliłem i jest lepiej. Potem postanowiłem porawić pewnego upierdliwego i
często zgłaszanego buga — część wpisów w rosterze pojawiało się przed
zamiast za nazwą grupy. Okazało się, że porównywanie JIDów z innymi obiektami
było w PyXMPP spieprzone i niektóre JIDy były mniejsze od None
. I
znowu testy jednostkowe się przydały, a zgłoszenie mogłem zamknąć.
I po cholerę to wszystko piszę? Nie wiem… może, żebyście wiedzieli jak
wygląda prawdziwie geekowski sylwester… Nie, żebym nie imprezował —
specjalnie z tej okazji mam tu colę (z cytrynką) i chipsy
;-)
.
Ja piszę dokumentację projektu na Programowanie Komputerów… Z tym że nie mam ani coli, ani cytrynki, ani chipsów 😉
PolubieniePolubienie
A mnie się kola właśnie skończyła 😦
PolubieniePolubienie
Wow! jestem naprawdę pod wrażeniem… chciałbym mieć kiedyś tyle wolnego czasu, żeby zrobić tyle rzeczy…
Ale w sylwestra, to już llekka przesada…. 🙂
PolubieniePolubienie
Poważnie, bez obrazy, jeśli kiedyś osiągnę taki etap, że w sylwestra będe siedział przy takich rzeczach, to strzelę sobie w łeb… I nie będzie mi żal… Szczęśliwego Nowego Roku 🙂
PolubieniePolubienie
Ja nie miałem żalu, że siedziałem i klepałem projekt zaliczeniowy 😉
PolubieniePolubienie
gdybym mógł, też wolałbym coś innego 😉 no ale, trudno. Przynajmniej dziś ten plik papierków oddałem. 🙂
PolubieniePolubienie
Nie no panowie, tak nie można, to jest odrobinę niezdrowe 😉 wiem, że czasem konieczne, ale jednak niezdrowe 😉
PolubieniePolubienie
Nie wiem, nie czuję się niezdrów. Od szampana i petard wybuchających nad głową dopiero bym się czuł niezdrowo…
PolubieniePolubienie
Wstawię info o aktualnym adresie do pyxmpp na wypadek gdyby ktoś szukał i nie mógł znaleźć pod dostarczonym przez Jajcusia linkiem. http://jabberstudio.org/projects/pyxmpp/project/view.php
PolubieniePolubienie