V této části dokumentace uvádím návody a doporučení pro ty, kteří by měli zájem o rozšíření knihovny flexipy. Za každou pomoc budu jen rád :) a jsem otevřen jakýmkoliv návrhům na zlepšení. Navíc když jsem začal tuto knihovnu psát, bylo mi jasné, že nebudu schopen v krátké době implementovat podporu pro práci se všemi evidencemi a využívání všech možností Flexibe. Proto budu vděčný za pomoc s implementací dalších funkcionalit.
Doporučuji dodržovat Django coding style.
PEP8 je oficiální přiručka pro psaní Python kódu a proto doporučuji všem potenciálním přispěvatům si ji alespoň zběžně pročíst.
Pokus chcete přidat funkcionalitu do flexipy, která bude sloužit k obsluze evidence ve Flexibee, která jesšte není zde implementovaná dodržujte prosím následující pravidla.
2. V tomto vytvořeném modulu vytvořte třídu, která bude mít jměno evidence například pro adresar je to Adresar. Tato třída by měla být potomkem třídy Flexipy, která obsahuje obecné metody pro práci s Flexibee. Tyto metody nejsou uživatelem knihony volány a správně by ani neměl být schopen přistoupit k třídě Flexipy, ale k pouze ke konkrétním potomkům jako například třída Adresar. Potomci tříy Flexipy již mají konkrétní metody přizpůsobené pro danou evidenci. Doporučuji se podívat jak je napsána třída Faktura v modulu faktura.py
2. Snažte se maximálně využívat jiř připravených metod z modulu main.py a třídy Flexipy. Například pro získání instance evidence zavolejte z třídy Flexipy metodu get_evidence_item a pouze ošetřete nebo upravte věci, které vyžadujte pro danou evidenci.
Flexipy využívá pytest proto doporučuji projít si dokumentaci, která je na oficiálních stránkách projektu. Testy jsou izolovány pro každý modul, tzn. že pro modul invoice je testovací modul test_invoice. Pro psaní testů lze z výhodou použít knihovnu requests, kterou flexipy využívá. Pro spouštění testů je vytvořen paver task, takže stačí zavolat z rootu projektu příkaz:
$ paver test
Doporučuji pro testy použít jiný konfigurační soubor, například skrze třídu TestingConfig v modulu config. Ta defaultně využívá konfigurační soubor testing_flexipy.conf. Ttto samozřejmě můžete jednoduše změnit.