[python] Tipy na návrh třídy

superman feed na centrum.cz
Čtvrtek Červenec 31 11:03:31 CEST 2008


Dobrý den,

přímo se nabízí každé třídě vyhradit speciální metodu, například 
getCommandText, která vrátí text, na který se reaguje. Případně to může 
být i property CommandText.

Miloslav Ponkrác

Martin Stiborský napsal(a):
> Zdravím, opět bych vás rád poprosil o vaše rady a zkušenosti.
>
> Jde o to, že bych rád elegantně vyřešil jednu část mého programu. Píšu
> si jabber bota, který bude bydlet na mém routeru a hlídat některé
> věci, torrenty, datové přenosy, připojené uživatele, pro srandu jsem
> ho naučil i típnout aktuální dění kolem routeru z připojené kamerky,
> prostě taková hračka ..
>
> Problém je, že příkazů na které bot reaguje se už nahromadila celkem
> hromada. Ve slovníku si udržuji jako klíč slovo, nebo slova na které
> bot zareaguje a jako hodnota je odkaz na příslušnou  metodu. Pokaždé
> když chci novou funkci bota, musím napsat metodu a přidat ji do
> slovníku + text na který bot reaguje. Toto bych chtěl automatizovat.
> Jenže hned první věc je, že nevím kam nacpat string který vyvolá
> funkci, zkusil jsem do šoupnout do __doc__ metody, při inicializaci
> třídy se projde jmenný prostor, vypreparuje se všechno co je metoda
> přes ismethod() z modulu inspect, koukne se na __doc__ metody a
> vytvoří slovník naplněný daty. To by snad i šlo, ale nelíbí se mi to
> ..
>
> Za vaše rady a tipy bych byl velmi vděčný ...
>
>   



Další informace o konferenci Python