Example #1
0
def get_senat_dossier_ref_from_cache_or_scrape(dossier_id: str) -> DossierRef:
    """
    Get dossier from the Redis cache (if recent) or scrape it
    """
    dossier_ref_senat = repository.get_senat_scraping_dossier_ref(dossier_id)
    if dossier_ref_senat is None:
        dossier_ref_senat = create_dossier_ref(dossier_id)
    return dossier_ref_senat
Example #2
0
    def test_ppl18_462(self):
        """
        Simple case: commission, then séance publique on adopted text
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl18-462") == DossierRef(
            uid="ppl18-462",
            titre=
            "Participation des conseillers de Lyon aux élections sénatoriales",
            slug="participation-conseillers-lyon-elections-senatoriales",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl18-462.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2019X462",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=462,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 4, 16),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2019X552",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=552,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 6, 5),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #3
0
    def test_ppl18_043(self):
        """
        Première & nouvelle lecture
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl18-043") == DossierRef(
            uid="ppl18-043",
            titre=
            "Directeur général de l'Agence nationale de la cohésion des territoires",  # noqa
            slug="directeur-general-agence-nationale-cohesion-territoires",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl18-043.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2018X43",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=43,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2018, 10, 16),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2018X100",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=100,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2018, 10, 31),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #4
0
    def test_ppl17_699(self):
        """
        Simple case: commission, then séance publique on adopted text
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl17-699") == DossierRef(
            uid="ppl17-699",
            titre=
            "Instituer un médiateur territorial dans certaines collectivités",
            slug="instituer-mediateur-territorial-certaines-collectivites",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl17-699.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2018X699",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=699,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2018, 7, 30),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2019X547",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=547,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 6, 5),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #5
0
    def test_ppl18_454(self):
        """
        Commission has not adopted a new texte yet
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl18-454") == DossierRef(
            uid="ppl18-454",
            titre="Exploitation des réseaux radioélectriques mobiles",
            slug="exploitation-reseaux-radioelectriques-mobiles",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl18-454.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2019X454",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=454,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 4, 11),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2019X454",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=454,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 4, 11),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #6
0
    def test_ppl18_436(self):
        """
        Commission does not vote a new texte
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl18-436") == DossierRef(
            uid="ppl18-436",
            titre="Accès des PME à la commande publique",
            slug="acces-pme-commande-publique",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl18-436.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2019X436",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=436,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 4, 4),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2019X436",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=436,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 4, 4),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #7
0
    def test_ppl18_386(self):
        """
        Simple case: commission, then séance publique on adopted text
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl18-386") == DossierRef(
            uid="ppl18-386",
            titre="Clarifier diverses dispositions du droit électoral",
            slug="clarifier-diverses-dispositions-droit-electoral",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl18-386.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2019X386",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=386,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 3, 19),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2019X445",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=445,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 4, 10),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #8
0
    def test_ppl18_305(self):
        """
        Commission does not vote a new texte
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl18-305") == DossierRef(
            uid="ppl18-305",
            titre="Création d'un statut de l'élu communal",
            slug="creation-statut-elu-communal",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl18-305.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2019X305",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=305,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 2, 12),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2019X305",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=305,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 2, 12),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #9
0
    def test_ppl18_260(self):
        """
        Commission does not vote a new texte
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl18-260") == DossierRef(
            uid="ppl18-260",
            titre="Accès à l'énergie et lutte contre la précarité énergétique",
            slug="acces-energie-lutte-contre-precarite-energetique",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl18-260.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2019X260",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=260,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 1, 22),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2019X260",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=260,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 1, 22),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #10
0
    def test_ppr18_458(self):
        """
        Résolution: the government is most likely not involved
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppr18-458") == DossierRef(
            uid="ppr18-458",
            titre="Clarifier et actualiser le Règlement du Sénat",
            slug="clarifier-actualiser-reglement-senat",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppr18-458.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPRSENAT2019X458",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=458,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 4, 12),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPRSENAT2019X550",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=550,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 6, 5),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #11
0
    def test_pjl18_532(self):
        """
        Simple case: commission, then séance publique on adopted text
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("pjl18-532") == DossierRef(
            uid="pjl18-532",
            titre="Transformation de la fonction publique",
            slug="transformation-fonction-publique",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/pjl18-532.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PJLSENAT2019X532",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=532,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 5, 29),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PJLSENAT2019X571",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=571,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 6, 12),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #12
0
    def test_pjl18_526(self):
        """
        Simple case: commission, then séance publique on adopted text
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("pjl18-526") == DossierRef(
            uid="pjl18-526",
            titre="Accords France-Suisse et France-Luxembourg",
            slug="accords-france-suisse-france-luxembourg",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/pjl18-526.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PJLSENAT2019X526",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=526,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 5, 24),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PJLSENAT2019X567",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=567,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 6, 12),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #13
0
    def test_pjl18_404(self):
        """
        Simple case: commission, then séance publique on adopted text
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("pjl18-404") == DossierRef(
            uid="pjl18-404",
            titre="Organisation du système de santé",
            slug="organisation-systeme-sante",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/pjl18-404.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PJLSENAT2019X404",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=404,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 3, 26),
                    ),
                    organe="",  # commission X
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PJLSENAT2019X525",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=525,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 5, 22),
                    ),
                    organe="PO78718",  # séance publique
                    partie=None,
                ),
            ],
        )
Example #14
0
    def test_ppl18_002(self):
        """
        Première & nouvelle lecture
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl18-002") == DossierRef(
            uid="ppl18-002",
            titre="Agence nationale de la cohésion des territoires",
            slug="agence-nationale-cohesion-territoires",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl18-002.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2018X2",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=2,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2018, 10, 2),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2018X99",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=99,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2018, 10, 31),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.NOUVELLE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Nouvelle lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2019X518",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=518,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 5, 21),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.NOUVELLE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Nouvelle lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2019X562",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=562,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 6, 12),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #15
0
    def test_ppl18_229(self):
        """
        This one is tricky: renvoi en commission après séance publique

        There are two séance publique 1re lecture:
        - one on the initial texte
        - one on the new texte voted by the commission the 2nd time

        There are actually 2 commission lectures on the same initial texte,
        but with different URLs for amendements:
        - http://www.senat.fr/amendements/commissions/2018-2019/10229/liste_depot.html
        - http://www.senat.fr/amendements/commissions/2018-2019/229/liste_depot.html

        Looks like they created a fake texte with number 10229.

        TODO: find a way to represent both commission lectures.
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("ppl18-229") == DossierRef(
            uid="ppl18-229",
            titre="Lutte contre l'habitat insalubre ou dangereux",
            slug="lutte-contre-habitat-insalubre-ou-dangereux",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/ppl18-229.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PPLSENAT2018X229",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=229,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2018, 12, 20),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2018X229",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=229,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2018, 12, 20),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PPLSENAT2019X536",
                        type_=TypeTexte.PROPOSITION,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=536,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 5, 29),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #16
0
    def test_plfss2020(self):
        """
        Projet de loi de financement de la sécurité sociale 2020 (27/11)
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("plfss2020") == DossierRef(
            uid="plfss2020",
            titre="Financement de la sécurité sociale pour 2020",
            slug="financement-securite-sociale-2020",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/plfss2020.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PLFSENAT2019X98",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=98,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 11, 4),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PLFSENAT2019X98",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=98,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 11, 4),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
                LectureRef(
                    chambre=Chambre.SENAT,
                    phase=Phase.NOUVELLE_LECTURE,
                    titre="Nouvelle lecture – Commissions",
                    texte=TexteRef(
                        uid="PLFSENAT2019X151",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=151,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 11, 27),
                    ),
                    organe="",
                    partie=None,
                ),
                LectureRef(
                    chambre=Chambre.SENAT,
                    phase=Phase.NOUVELLE_LECTURE,
                    titre="Nouvelle lecture – Séance publique",
                    texte=TexteRef(
                        uid="PLFSENAT2019X151",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=151,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 11, 27),
                    ),
                    organe="PO78718",
                    partie=None,
                ),
            ],
        )
Example #17
0
    def test_pjlf2020(self):
        """
        Projet de loi de finances 2020 (27/11)
        """
        from zam_repondeur.models.chambre import Chambre
        from zam_repondeur.models.phase import Phase
        from zam_repondeur.services.fetch.an.dossiers.models import (
            DossierRef,
            LectureRef,
            TexteRef,
            TypeTexte,
        )
        from zam_repondeur.services.fetch.senat.scraping import create_dossier_ref

        assert create_dossier_ref("pjlf2020") == DossierRef(
            uid="pjlf2020",
            titre="Budget 2020",
            slug="budget-2020",
            an_url="",
            senat_url="https://www.senat.fr/dossier-legislatif/pjlf2020.html",
            lectures=[
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PJLSENAT2019X139",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=139,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 11, 21),
                    ),
                    organe="",
                    partie=1,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Commissions",
                    texte=TexteRef(
                        uid="PJLSENAT2019X139",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=139,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 11, 21),
                    ),
                    organe="",
                    partie=2,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PJLSENAT2019X139",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=139,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 11, 21),
                    ),
                    organe="PO78718",
                    partie=1,
                ),
                LectureRef(
                    phase=Phase.PREMIERE_LECTURE,
                    chambre=Chambre.SENAT,
                    titre="Première lecture – Séance publique",
                    texte=TexteRef(
                        uid="PJLSENAT2019X139",
                        type_=TypeTexte.PROJET,
                        chambre=Chambre.SENAT,
                        legislature=None,
                        numero=139,
                        titre_long="",
                        titre_court="",
                        date_depot=datetime.date(2019, 11, 21),
                    ),
                    organe="PO78718",
                    partie=2,
                ),
            ],
        )