Example #1
0
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"]
Example #2
0
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}")
Example #3
0
    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)
Example #4
0
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)
Example #5
0
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]
    }
Example #6
0
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"]
Example #7
0
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
Example #8
0
def test_get_organes(app):
    from zam_repondeur.data import repository

    organes = repository.get_data("organes")

    assert "PO717460" in organes
Example #9
0
def test_get_acteurs(app):
    from zam_repondeur.data import repository

    acteurs = repository.get_data("acteurs")

    assert "PA718838" in acteurs
Example #10
0
def test_get_dossiers(app):
    from zam_repondeur.data import repository

    dossiers = repository.get_data("dossiers")

    assert "DLR5L15N36030" in dossiers
Example #11
0
 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")