Correction enumérations

This commit is contained in:
2024-06-20 16:48:34 +02:00
parent ada3941d44
commit 782320652e
9 changed files with 269 additions and 296 deletions

View File

@ -1,5 +1,23 @@
import enum
from sqlalchemy.orm import DeclarativeBase
class Base(DeclarativeBase):
pass
class Genre(enum.Enum):
MASCULIN = "M"
FEMININ = "F"
class Personnalite(enum.Enum):
DEFAUT = ""
EURODEPUTE = "RPE"
DEPUTE = "DEP"
SENATEUR = "SEN"
MINISTRE = "MIN"
PRESIDENT_CONSEIL_REGIONAL = "PCR"
PRESIDENT_CONSEIL_DEPARTEMENTAL = "PCD"
MAIRE = "MAI"

View File

@ -6,6 +6,7 @@ from sqlalchemy import Boolean, Date, Enum, ForeignKey, Integer, String
from sqlalchemy.orm import mapped_column, Mapped, relationship
from nupes.models import Base, Region, Departement, Commune
from nupes.models.base import Genre, Personnalite
class BlocEuropeennes2024(Base):
@ -59,20 +60,6 @@ class ListeEuropeennes2024(Base):
class CandidatEuropeennes2024(Base):
class Genre(enum.Enum):
MASCULIN = "M"
FEMININ = "F"
class Personnalite(enum.Enum):
DEFAUT = ""
EURODEPUTE = "RPE"
DEPUTE = "DEP"
SENATEUR = "SEN"
MINISTRE = "MIN"
PRESIDENT_CONSEIL_REGIONAL = "PCR"
PRESIDENT_CONSEIL_DEPARTEMENTAL = "PCD"
MAIRE = "MAI"
__tablename__ = "europeennes_2024_candidat"
id: Mapped[int] = mapped_column(primary_key=True)

View File

@ -6,6 +6,7 @@ from sqlalchemy import Boolean, Date, Enum, ForeignKey, Integer, String
from sqlalchemy.orm import mapped_column, Mapped, relationship
from nupes.models import Base, Region, Departement, Commune, Circonscription
from nupes.models.base import Genre
class BlocLegislatives2022(Base):
@ -46,10 +47,6 @@ class NuanceLegislatives2022(Base):
class CandidatLegislatives2022(Base):
class Genre(enum.Enum):
MASCULIN = "M"
FEMININ = "F"
__tablename__ = "legislatives_2022_candidat"
id: Mapped[int] = mapped_column(primary_key=True)

View File

@ -5,7 +5,7 @@ from typing import List
from sqlalchemy import Boolean, Date, Enum, ForeignKey, Integer, String
from sqlalchemy.orm import mapped_column, Mapped, relationship
from nupes.models import Base, Region, Departement, Commune, Circonscription
from nupes.models import Base, Region, Departement, Commune, Circonscription, Genre
class BlocLegislatives2024(Base):
@ -46,10 +46,6 @@ class NuanceLegislatives2024(Base):
class CandidatLegislatives2024(Base):
class Genre(enum.Enum):
MASCULIN = "M"
FEMININ = "F"
__tablename__ = "legislatives_2024_candidat"
id: Mapped[int] = mapped_column(primary_key=True)

View File

@ -5,6 +5,7 @@ from sqlalchemy import Engine, select
from sqlalchemy.orm import Session
from nupes.cache import get_file
from nupes.models import Genre, Personnalite
from nupes.models.europeennes2024 import BlocEuropeennes2024, NuanceEuropeennes2024, ListeEuropeennes2024, \
CandidatEuropeennes2024
@ -148,10 +149,10 @@ def importer_candidats(engine: Engine, verbose: bool = False) -> None:
candidat.liste_id = liste.id
candidat.nom = line['Nom sur le bulletin de vote']
candidat.prenom = line['Prénom sur le bulletin de vote']
candidat.sexe = CandidatEuropeennes2024.Genre(line['Sexe'])
candidat.sexe = Genre(line['Sexe'])
candidat.date_naissance = datetime.datetime.strptime(line['Date de naissance'], "%d/%m/%Y").date()
candidat.profession = line['Profession']
candidat.code_personnalite = CandidatEuropeennes2024.Personnalite(line['Code personnalité'])
candidat.code_personnalite = Personnalite(line['Code personnalité'])
candidat.sortant = line['Sortant'] == "OUI"
else:
candidat = CandidatEuropeennes2024(
@ -159,10 +160,10 @@ def importer_candidats(engine: Engine, verbose: bool = False) -> None:
ordre=int(line['Ordre']),
nom=line['Nom sur le bulletin de vote'],
prenom=line['Prénom sur le bulletin de vote'],
sexe=CandidatEuropeennes2024.Genre(line['Sexe']).name,
sexe=Genre(line['Sexe']).name,
date_naissance=datetime.datetime.strptime(line['Date de naissance'], "%d/%m/%Y").date(),
profession=line['Profession'],
code_personnalite=CandidatEuropeennes2024.Personnalite(line['Code personnalité']).name,
code_personnalite=Personnalite(line['Code personnalité']).name,
sortant=line['Sortant'] == "OUI",
)
session.add(candidat)

View File

@ -6,6 +6,7 @@ from sqlalchemy.orm import Session
from tqdm import tqdm
from nupes.cache import get_file
from nupes.models import Genre
from nupes.models.legislatives2022 import BlocLegislatives2022, NuanceLegislatives2022, CandidatLegislatives2022
@ -128,13 +129,13 @@ def importer_candidats(engine: Engine, verbose: bool = False) -> None:
bloc_id=nuance.bloc_id,
nom=line['Nom candidat'],
prenom=line['Prénom candidat'],
sexe=CandidatLegislatives2022.Genre(line['Sexe candidat']).name,
sexe=Genre(line['Sexe candidat']).name,
date_naissance=datetime.datetime.strptime(line['Date naissance candidat'], "%d/%m/%Y").date(),
profession=line['Profession candidat'],
sortant=line['Le candidat est sortant'] == "Oui",
nom_suppleance=line['Nom remplaçant'],
prenom_suppleance=line['Prénom remplaçant'],
sexe_suppleance=CandidatLegislatives2022.Genre(line['Sexe remplaçant']).name,
sexe_suppleance=Genre(line['Sexe remplaçant']).name,
date_naissance_suppleance=datetime.datetime.strptime(line['Date naiss. remplaçant'],
"%d/%m/%Y").date(),
sortant_suppleance=line['Le remplaçant est sortant'] == "Oui",

View File

@ -6,6 +6,7 @@ from sqlalchemy.orm import Session
from tqdm import tqdm
from nupes.cache import get_file
from nupes.models import Genre
from nupes.models.legislatives2024 import BlocLegislatives2024, NuanceLegislatives2024, CandidatLegislatives2024
@ -116,14 +117,14 @@ def importer_candidats(engine: Engine, verbose: bool = False) -> None:
candidat.bloc_id = nuance.bloc_id
candidat.nom = line['Nom du candidat']
candidat.prenom = line['Prénom du candidat']
candidat.sexe = CandidatLegislatives2024.Genre(line['Sexe du candidat'])
candidat.sexe = Genre(line['Sexe du candidat'])
candidat.date_naissance = datetime.datetime.strptime(line['Date de naissance du candidat'],
"%d/%m/%Y").date()
candidat.profession = line['Profession']
candidat.sortant = line['Sortant'] == "OUI"
candidat.nom_suppleance = line['Nom remplaçant']
candidat.prenom_suppleance = line['Prénom remplaçant']
candidat.sexe_suppleance = CandidatLegislatives2024.Genre(line['Sexe remplaçant'])
candidat.sexe_suppleance = Genre(line['Sexe remplaçant'])
candidat.date_naissance_suppleance = datetime.datetime.strptime(
line['Date de naissance remplaçant'], "%d/%m/%Y").date()
candidat.sortant = line['Sortant remplaçant'] == "OUI"
@ -135,14 +136,14 @@ def importer_candidats(engine: Engine, verbose: bool = False) -> None:
bloc_id=nuance.bloc_id,
nom=line['Nom du candidat'],
prenom=line['Prénom du candidat'],
sexe=CandidatLegislatives2024.Genre(line['Sexe du candidat']).name,
sexe=Genre(line['Sexe du candidat']).name,
date_naissance=datetime.datetime.strptime(line['Date de naissance du candidat'],
"%d/%m/%Y").date(),
profession=line['Profession'],
sortant=line['Sortant'] == "OUI",
nom_suppleance=line['Nom remplaçant'],
prenom_suppleance=line['Prénom remplaçant'],
sexe_suppleance=CandidatLegislatives2024.Genre(line['Sexe remplaçant']).name,
sexe_suppleance=Genre(line['Sexe remplaçant']).name,
date_naissance_suppleance=datetime.datetime.strptime(line['Date de naissance remplaçant'],
"%d/%m/%Y").date(),
sortant_suppleance=line['Sortant remplaçant'] == "OUI",