def get_auteur_name(uid: str) -> str: acteurs = repository.get_data("acteurs") if uid not in acteurs: raise ValueError(f"Unknown auteur {uid}") acteur = acteurs[uid] ident: Dict[str, str] = acteur["etatCivil"]["ident"] return ident["prenom"] + " " + ident["nom"]
def _find_dossier_lecture(texte_uid: str) -> Tuple[DossierRef, LectureRef]: # FIXME: this is not efficient dossiers: Dict[str, DossierRef] = repository.get_data("dossiers") for dossier in dossiers.values(): for lecture in dossier.lectures: if lecture.texte.uid == texte_uid: return dossier, lecture raise ValueError(f"Unknown texte {texte_uid}")
def format_organe(self) -> str: from zam_repondeur.data import repository # avoid circular imports result: str = self.organe organes = repository.get_data("organes") if self.organe in organes: organe_data = organes[self.organe] result = organe_data["libelleAbrege"] return self.rewrite_organe(result)
def get_organe_abrev(organe: str) -> str: from zam_repondeur.data import repository try: data = repository.get_data("organes")[organe] abrev: str = data["libelleAbrev"] return abrev except KeyError: raise OrganeNotFound(organe)
def choices_lectures(request: Request) -> dict: uid = request.matchdict["uid"] dossiers_by_uid = repository.get_data("dossiers") dossier = dossiers_by_uid[uid] return { "lectures": [{ "key": lecture.key, "label": lecture.label } for lecture in dossier.lectures] }
def get_groupe(raw_auteur: OrderedDict, amendement_num: int) -> str: from zam_repondeur.data import repository gouvernemental = bool(int(raw_auteur["estGouvernement"])) groupe_tribun_id = get_str_or_none(raw_auteur, "groupeTribunId") if gouvernemental or (groupe_tribun_id is None): return "" groupes = repository.get_data("organes") try: groupe_tribun_id = f"PO{raw_auteur['groupeTribunId']}" except KeyError: logger.error("Unknown groupe %r for amendement %s", groupe_tribun_id, amendement_num) return "" try: groupe: Dict[str, str] = groupes[groupe_tribun_id] except KeyError: logger.error( "Unknown groupe tribun %r in groupes for amendement %s", groupe_tribun_id, amendement_num, ) return "" return groupe["libelle"]
def get_groupe_name(uid: str) -> str: organes = repository.get_data("organes") if uid not in organes: raise ValueError(f"Unknown groupe {uid}") libelle: str = organes[uid]["libelle"] return libelle
def test_get_organes(app): from zam_repondeur.data import repository organes = repository.get_data("organes") assert "PO717460" in organes
def test_get_acteurs(app): from zam_repondeur.data import repository acteurs = repository.get_data("acteurs") assert "PA718838" in acteurs
def test_get_dossiers(app): from zam_repondeur.data import repository dossiers = repository.get_data("dossiers") assert "DLR5L15N36030" in dossiers
def __init__(self, context: LectureCollection, request: Request) -> None: self.context = context self.request = request self.dossiers_by_uid: Dict[str, Dossier] = repository.get_data("dossiers")