Modul Marks¶
Modul Marks
slouží k načítání a práci se známkami. Umí:
- stáhnout známky ze serveru školy,
- pracovat s předměty a jejich známkami (včetně nových známek),
- filtrovat známky podle data nebo rozsahu datumů,
- vracet známky seskupené podle předmětů,
- formátovaný výstup
Tento modul již provádí autorizované dotazy, takže je nutné již mít údaje o tokenech, případně provést první přihlášení.
Třída Marks¶
class Marks | |
---|---|
Jako jediný parametr přijímá inicializovanou instanci Bakalari
.
Načtení známek ze serveru¶
Známky načte metoda fetch_marks()
.
Metoda se nevolá automaticky při inicializaci třídy Marks
. Je nutné ji volat ručně vždy, když chcete aktualizovat známky.
Načtení známek | |
---|---|
Upozornění
Pro správné fungování je nutné mít platné přihlašovací údaje (tokeny) v instanci Bakalari
.
Datové struktury¶
Známky a předměty se ukládají do speciálních tříd, které modul používá interně i v návratových hodnotách API:
-
SubjectsBase
id: str
— identifikátor předmětuabbr: str
— zkratka předmětuname: str
— název předmětuaverage_text: str
— textový průměr (řeší server)points_only: bool
— zda je předmět pouze bodově hodnocenmarks: MarksRegistry
— kolekce známek pro daný předmět
-
MarksBase
id: str
- id známkydate: datetime
- datum známkycaption: str
- text známkytheme: str | None
- název tématu známkymarktext: MarkOptionsBase | None
— textová reprezentace známky (1, A, +, apod.)teacher: str | None
- učitel, který vydal známkusubject_id: str
- identifikátor předmětuis_new: bool
- nová známkais_points: bool
- zda je známka bodovápoints_text: str | None
- textová reprezentace bodůmax_points: int | None
- maximální počet bodů
-
MarkOptionsBase
id: str
abbr: str
text: str
Logování a fallbacky
- Pokud server vrátí
MarkText
, který není vMarkOptions
, do logu se zapíše warning a modul použije „placeholder“MarkOptionsBase
, aby zpracování nespadlo. - Pokud server vrátí známku k neznámému
subject_id
, modul to zaloguje jako warning a danou známku přeskočí.
Základní čtení dat¶
Získání seznamu předmětů¶
Seznam předmětů | |
---|---|
Získání známek pro konkrétní předmět¶
Známky pro předmět | |
---|---|
Práce s novými známkami¶
Všechny nové známky (napříč předměty)¶
Nové známky | |
---|---|
Nové známky podle dne nebo rozsahu¶
Kompletní přehled známek (seskupeno dle předmětů)¶
Vrátit jako data¶
Všechny známky (seskupené) | |
---|---|
Filtrovat dle data/rozsahu a/nebo předmětu¶
Výpis na stdout
Modul má i helper, který rovnou vypíše formátovaný přehled: