[python] cal2you - kalendář v curses
Adam Štrauch
cx na initd.cz
Neděle Leden 4 21:49:36 CET 2009
Ahoj všem,
tak se mi podařilo vytvořit kalendář, který jsem dlouho postrádal. Kdo
někdy četl můj blog, jako že asi nikdo :), tak ví, že co mám Eeečko se
snažím co nejvíce akcí dělat v shellu, případně s pomocí curses aplikací.
Mám tedy email přes mutt, kontakty přes abook a z toho co potřebuju
zbývá kalendář. Ten tedy nezbývalo jinak než udělat. Abych řek pravdu,
tak jsem ho psal něco přes měsíc po večerech mezi prací, přítelkyní a
dalšími povinnostmi. Teď ale můžu říct, že se mi povedlo ho dostat do
fáze, kdy může jít pod GPL ven aspoň jako taková trochu alpha.
Program se jmenuje cal2you (calendar-todo-you). Momentálně umí spravovat
kalendář a ToDo list velmi základní formou. Poslední dva dny jsem
hodně upravoval kód a přidal podporu pro locale. Taky jsem se postaral o
to, aby to jelo na většině distribucí s minimálními zásahy do kódu nebo
nastavení. Teď by to mělo stačit stáhnout a jet.
Zdroják obsahuje skript install.sh, který vytvoří adresářovou strukturu
pro balíčkáře. Dále tu je skript, který vygeneruje nová/doplněná locale.
Oba by se měly spouštět z root adresáře projektu přičemž install.sh bere
parametr s cílovým adresářem pro vytvořenou adresářovou strukturu. Možná
by tu bylo na místě použít nějaký instalační nástroje pro Python.
Co bych rád vylepšil je ukládání dat. Momentálně serializuju pole
slovníků a rád bych aby to tak zůstalo. Pokud bych sáhnul po sqlite,
mohla by dělat problémy úprava tabulky. Takhle jen otestuju chybějící
položku a při ukládání doplním.
Co bych rád dodělal v příštích týdnech zkouškového:
* Export do txt/html
To abych mohl vždy jen poslat "Si děláš srandu ne, tohle musím všechno
udělat:" a nezdržoval se sepisováním.
* Upload na server a zpět
To abych měl jeden kalendář k dispozici jak na Eee, tak na desktopu.
Také mě napadlo jen dát seznam serverů, na které by se pokoušel data
uploadovat. Nebyl by pak problém s centralizací,
* Vylepšit jak ToDo tak kalendář
* Dodělat možnost pluginů
Tady by se mi hodilo pár rad jak na to, na co si dát pozor, co se k tomu
v Pythonu používá.
* Použít linuxové nástroje pro synchronizaci s mobilem (msynctool)
Tohle by mi hodně pomohlo. Mám zapnuté pořád bluetooth a jedna správná
klávesová zkratka synchronizující mobil s kalendářem by byla killer
feature pro mě.
* Plugin pro geocaching
Geocaching je hra, která mě prostě chytla. Absence nástrojů z Windows
jako geoget mi sice úplně nechybí, ale bylo by fajn pracovat s cachema v
shellu. Hledání optimální skupiny cachí pro odlov by bylo hned rychlejší.
* Notifikační daemon
Používám vodafone a u něj na různé zprávy mobilní email. Dostávám tak
hned info o výpadcích routerů na naší síti, takže bych to rád využil i u
tohohle programu. Notifikoval bych rád i na jabber.
Proč tohle všechno píšu. Byl bych rád, kdybyste mi trochu pomohli s tím,
co tomu programu chybí, kterým směrem by se měl vést vývoj, rád uvítám i
patche :), ale bude mi stačit odezva od uživatelů.
Zdroják spravuju v gitu a jelikož jsem nevydal ještě žádný release a
chvilku to tak ještě zůstane, tak můžete sosat rovnou z repa:
git clone http://cal-git.initd.cz/
Adam
Další informace o konferenci Python