Example #1
0
    def parse_from_csv(self, row: dict,
                       lecture: Lecture) -> Tuple[Amendement, bool]:
        subdiv = parse_subdiv(row["Subdivision "], texte=lecture.texte)
        article, _ = lecture.find_or_create_article(subdiv)

        num, rectif = Amendement.parse_num(row["Numéro "])
        amendement, created = lecture.find_or_create_amendement(num, article)

        modified = False
        modified |= self.update_rectif(amendement, rectif)
        modified |= self.update_corps(amendement,
                                      clean_html(row["Dispositif "]))
        modified |= self.update_expose(amendement, clean_html(row["Objet "]))
        modified |= self.update_sort(amendement, row["Sort "])
        modified |= self.update_attributes(
            amendement,
            article=article,
            alinea=row["Alinéa"].strip(),
            auteur=row["Auteur "],
            matricule=extract_matricule(row["Fiche Sénateur"]),
            date_depot=parse_date(row["Date de dépôt "]),
        )

        return amendement, created
Example #2
0
def parse_from_csv(row: dict, session: str, num_texte: int,
                   organe: str) -> Amendement:
    num, rectif = Amendement.parse_num(row["Numéro "])
    subdiv_type, subdiv_num, subdiv_mult, subdiv_pos = _parse_subdiv(
        row["Subdivision "])
    return Amendement(  # type: ignore
        chambre="senat",
        session=session,
        num_texte=num_texte,
        organe=organe,
        num=num,
        rectif=rectif,
        subdiv_type=subdiv_type,
        subdiv_num=subdiv_num,
        subdiv_mult=subdiv_mult,
        subdiv_pos=subdiv_pos,
        alinea=row["Alinéa"].strip(),
        auteur=row["Auteur "],
        matricule=extract_matricule(row["Fiche Sénateur"]),
        date_depot=parse_date(row["Date de dépôt "]),
        sort=row["Sort "],
        dispositif=clean_html(row["Dispositif "]),
        objet=clean_html(row["Objet "]),
    )
Example #3
0
def test_parse_date_long():
    from zam_repondeur.fetch.dates import parse_date

    assert parse_date("2017-10-11T00:00:00.000+02:00") == date(2017, 10, 11)
Example #4
0
def test_parse_date_short():
    from zam_repondeur.fetch.dates import parse_date

    assert parse_date("2017-11-13") == date(2017, 11, 13)
Example #5
0
def test_parse_date_empty_string():
    from zam_repondeur.fetch.dates import parse_date

    assert parse_date("") is None
Example #6
0
def to_date(text: Optional[str]) -> Optional[date]:
    if text is None:
        return None
    return parse_date(text)