diff --git a/mo/db.py b/mo/db.py index a9b2f5daf1517ee3abaf135a59849a073125804a..cf8d1f77ddd6807de68111587c0f547e8bc324b7 100644 --- a/mo/db.py +++ b/mo/db.py @@ -232,6 +232,23 @@ class PartState(MOEnum): present = auto() absent = auto() + @classmethod + def choices(enum): + out = [] + for item in enum: + out.append((item.name, part_state_names[item])) + return out + + +part_state_names = { + PartState.registered: 'registrovaný', + PartState.invited: 'pozvaný', + PartState.refused: 'odmítnutý', + PartState.present: 'přítomný', + PartState.absent: 'nepřítomný', +} + + class Participation(Base): __tablename__ = 'participations' @@ -357,6 +374,14 @@ def get_session() -> Session: return _session +def get_categories() -> List[str]: + return [cat for (cat,) in get_session().query(Round.category).distinct()] + + +def get_seqs() -> List[str]: + return [seq for (seq,) in get_session().query(Round.seq).distinct()] + + def get_place_parents(place: Place) -> List[Place]: sess = get_session()