Renommage des modèles pour les européennes
This commit is contained in:
parent
43862f4408
commit
ac0b5e5262
|
@ -1,8 +1,8 @@
|
|||
"""initial
|
||||
|
||||
Revision ID: d7fed76a55bd
|
||||
Revision ID: c0443e979a90
|
||||
Revises:
|
||||
Create Date: 2024-06-15 00:03:00.687812
|
||||
Create Date: 2024-06-18 14:12:39.798179
|
||||
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
@ -12,7 +12,7 @@ import sqlalchemy as sa
|
|||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = 'd7fed76a55bd'
|
||||
revision: str = 'c0443e979a90'
|
||||
down_revision: Union[str, None] = None
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
@ -20,28 +20,21 @@ depends_on: Union[str, Sequence[str], None] = None
|
|||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_table('bloc2024',
|
||||
op.create_table('europeennes_2024_bloc',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('nom', sa.String(length=32), nullable=False),
|
||||
sa.Column('couleur', sa.String(length=7), nullable=False),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint('nom')
|
||||
)
|
||||
op.create_table('nuance2024',
|
||||
op.create_table('europeennes_2024_nuance',
|
||||
sa.Column('code', sa.String(length=8), nullable=False),
|
||||
sa.Column('nom', sa.String(length=64), nullable=False),
|
||||
sa.Column('couleur', sa.String(length=7), nullable=False),
|
||||
sa.PrimaryKeyConstraint('code'),
|
||||
sa.UniqueConstraint('nom')
|
||||
)
|
||||
op.create_table('region',
|
||||
sa.Column('code_insee', sa.String(length=3), nullable=False),
|
||||
sa.Column('libelle', sa.String(length=64), nullable=False),
|
||||
sa.Column('geometry', sa.JSON(), nullable=False),
|
||||
sa.PrimaryKeyConstraint('code_insee'),
|
||||
sa.UniqueConstraint('libelle')
|
||||
)
|
||||
op.create_table('resultats2024_france',
|
||||
op.create_table('europeennes_2024_resultats_france',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('inscrits', sa.Integer(), nullable=False),
|
||||
sa.Column('votants', sa.Integer(), nullable=False),
|
||||
|
@ -51,6 +44,13 @@ def upgrade() -> None:
|
|||
sa.Column('nuls', sa.Integer(), nullable=False),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_table('region',
|
||||
sa.Column('code_insee', sa.String(length=3), nullable=False),
|
||||
sa.Column('libelle', sa.String(length=64), nullable=False),
|
||||
sa.Column('geometry', sa.JSON(), nullable=False),
|
||||
sa.PrimaryKeyConstraint('code_insee'),
|
||||
sa.UniqueConstraint('libelle')
|
||||
)
|
||||
op.create_table('departement',
|
||||
sa.Column('code_insee', sa.String(length=3), nullable=False),
|
||||
sa.Column('libelle', sa.String(length=64), nullable=False),
|
||||
|
@ -60,21 +60,21 @@ def upgrade() -> None:
|
|||
sa.PrimaryKeyConstraint('code_insee'),
|
||||
sa.UniqueConstraint('libelle')
|
||||
)
|
||||
op.create_table('liste2024',
|
||||
op.create_table('europeennes_2024_liste',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('nom', sa.String(length=256), nullable=False),
|
||||
sa.Column('nom_majuscules', sa.String(length=256), nullable=True),
|
||||
sa.Column('numero', sa.Integer(), nullable=False),
|
||||
sa.Column('nuance_id', sa.String(length=8), nullable=False),
|
||||
sa.Column('bloc_id', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['bloc_id'], ['bloc2024.id'], ),
|
||||
sa.ForeignKeyConstraint(['nuance_id'], ['nuance2024.code'], ),
|
||||
sa.ForeignKeyConstraint(['bloc_id'], ['europeennes_2024_bloc.id'], ),
|
||||
sa.ForeignKeyConstraint(['nuance_id'], ['europeennes_2024_nuance.code'], ),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint('nom'),
|
||||
sa.UniqueConstraint('nom_majuscules'),
|
||||
sa.UniqueConstraint('numero')
|
||||
)
|
||||
op.create_table('resultats2024_region',
|
||||
op.create_table('europeennes_2024_resultats_region',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('region_id', sa.String(length=3), nullable=False),
|
||||
sa.Column('resultats_france_id', sa.Integer(), nullable=False),
|
||||
|
@ -85,21 +85,7 @@ def upgrade() -> None:
|
|||
sa.Column('blancs', sa.Integer(), nullable=False),
|
||||
sa.Column('nuls', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['region_id'], ['region.code_insee'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_france_id'], ['resultats2024_france.id'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_table('candidat2024',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('liste_id', sa.Integer(), nullable=False),
|
||||
sa.Column('ordre', sa.Integer(), nullable=False),
|
||||
sa.Column('nom', sa.String(length=256), nullable=False),
|
||||
sa.Column('prenom', sa.String(length=256), nullable=False),
|
||||
sa.Column('sexe', sa.Enum('MASCULIN', 'FEMININ', name='genre'), nullable=False),
|
||||
sa.Column('date_naissance', sa.Date(), nullable=False),
|
||||
sa.Column('profession', sa.String(length=256), nullable=False),
|
||||
sa.Column('code_personnalite', sa.Enum('DEFAUT', 'EURODEPUTE', 'DEPUTE', 'SENATEUR', 'MINISTRE', 'PRESIDENT_CONSEIL_REGIONAL', 'PRESIDENT_CONSEIL_DEPARTEMENTAL', 'MAIRE', name='personnalite'), nullable=False),
|
||||
sa.Column('sortant', sa.Boolean(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['liste2024.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_france_id'], ['europeennes_2024_resultats_france.id'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_table('circonscription',
|
||||
|
@ -118,7 +104,21 @@ def upgrade() -> None:
|
|||
sa.ForeignKeyConstraint(['departement_code'], ['departement.code_insee'], ),
|
||||
sa.PrimaryKeyConstraint('code_insee')
|
||||
)
|
||||
op.create_table('resultats2024_departement',
|
||||
op.create_table('europeennes_2024_candidat',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('liste_id', sa.Integer(), nullable=False),
|
||||
sa.Column('ordre', sa.Integer(), nullable=False),
|
||||
sa.Column('nom', sa.String(length=256), nullable=False),
|
||||
sa.Column('prenom', sa.String(length=256), nullable=False),
|
||||
sa.Column('sexe', sa.Enum('MASCULIN', 'FEMININ', name='genre'), nullable=False),
|
||||
sa.Column('date_naissance', sa.Date(), nullable=False),
|
||||
sa.Column('profession', sa.String(length=256), nullable=False),
|
||||
sa.Column('code_personnalite', sa.Enum('DEFAUT', 'EURODEPUTE', 'DEPUTE', 'SENATEUR', 'MINISTRE', 'PRESIDENT_CONSEIL_REGIONAL', 'PRESIDENT_CONSEIL_DEPARTEMENTAL', 'MAIRE', name='personnalite'), nullable=False),
|
||||
sa.Column('sortant', sa.Boolean(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['europeennes_2024_liste.id'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_table('europeennes_2024_resultats_departement',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('dpt_id', sa.String(length=3), nullable=False),
|
||||
sa.Column('resultats_region_id', sa.Integer(), nullable=True),
|
||||
|
@ -129,23 +129,23 @@ def upgrade() -> None:
|
|||
sa.Column('blancs', sa.Integer(), nullable=False),
|
||||
sa.Column('nuls', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['dpt_id'], ['departement.code_insee'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_region_id'], ['resultats2024_region.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_region_id'], ['europeennes_2024_resultats_region.id'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_table('voix2024_france',
|
||||
op.create_table('europeennes_2024_voix_france',
|
||||
sa.Column('liste_id', sa.Integer(), nullable=False),
|
||||
sa.Column('resultats_france_id', sa.Integer(), nullable=False),
|
||||
sa.Column('voix', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['liste2024.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_france_id'], ['resultats2024_france.id'], ),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['europeennes_2024_liste.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_france_id'], ['europeennes_2024_resultats_france.id'], ),
|
||||
sa.PrimaryKeyConstraint('liste_id', 'resultats_france_id')
|
||||
)
|
||||
op.create_table('voix2024_region',
|
||||
op.create_table('europeennes_2024_voix_region',
|
||||
sa.Column('liste_id', sa.Integer(), nullable=False),
|
||||
sa.Column('resultats_region_id', sa.Integer(), nullable=False),
|
||||
sa.Column('voix', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['liste2024.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_region_id'], ['resultats2024_region.id'], ),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['europeennes_2024_liste.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_region_id'], ['europeennes_2024_resultats_region.id'], ),
|
||||
sa.PrimaryKeyConstraint('liste_id', 'resultats_region_id')
|
||||
)
|
||||
op.create_table('bureau_vote',
|
||||
|
@ -160,7 +160,7 @@ def upgrade() -> None:
|
|||
sa.ForeignKeyConstraint(['commune_code'], ['commune.code_insee'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_table('resultats2024_circonscription',
|
||||
op.create_table('europeennes_2024_resultats_circonscription',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('circo_id', sa.String(length=6), nullable=False),
|
||||
sa.Column('resultats_departement_id', sa.Integer(), nullable=False),
|
||||
|
@ -171,10 +171,10 @@ def upgrade() -> None:
|
|||
sa.Column('blancs', sa.Integer(), nullable=False),
|
||||
sa.Column('nuls', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['circo_id'], ['circonscription.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_departement_id'], ['resultats2024_departement.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_departement_id'], ['europeennes_2024_resultats_departement.id'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_table('resultats2024_commune',
|
||||
op.create_table('europeennes_2024_resultats_commune',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('commune_id', sa.String(length=5), nullable=False),
|
||||
sa.Column('resultats_dpt_id', sa.Integer(), nullable=False),
|
||||
|
@ -185,18 +185,18 @@ def upgrade() -> None:
|
|||
sa.Column('blancs', sa.Integer(), nullable=False),
|
||||
sa.Column('nuls', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['commune_id'], ['commune.code_insee'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_dpt_id'], ['resultats2024_departement.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_dpt_id'], ['europeennes_2024_resultats_departement.id'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_table('voix2024_departement',
|
||||
op.create_table('europeennes_2024_voix_departement',
|
||||
sa.Column('liste_id', sa.Integer(), nullable=False),
|
||||
sa.Column('resultats_departement_id', sa.Integer(), nullable=False),
|
||||
sa.Column('voix', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['liste2024.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_departement_id'], ['resultats2024_departement.id'], ),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['europeennes_2024_liste.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_departement_id'], ['europeennes_2024_resultats_departement.id'], ),
|
||||
sa.PrimaryKeyConstraint('liste_id', 'resultats_departement_id')
|
||||
)
|
||||
op.create_table('resultats2024_bureau_vote',
|
||||
op.create_table('europeennes_2024_resultats_bureau_vote',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('bv_id', sa.String(length=16), nullable=False),
|
||||
sa.Column('resultats_commune_id', sa.Integer(), nullable=False),
|
||||
|
@ -208,32 +208,32 @@ def upgrade() -> None:
|
|||
sa.Column('blancs', sa.Integer(), nullable=False),
|
||||
sa.Column('nuls', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['bv_id'], ['bureau_vote.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_circo_id'], ['resultats2024_circonscription.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_commune_id'], ['resultats2024_commune.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_circo_id'], ['europeennes_2024_resultats_circonscription.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_commune_id'], ['europeennes_2024_resultats_commune.id'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_table('voix2024_circonscription',
|
||||
op.create_table('europeennes_2024_voix_circonscription',
|
||||
sa.Column('liste_id', sa.Integer(), nullable=False),
|
||||
sa.Column('resultats_circonscription_id', sa.Integer(), nullable=False),
|
||||
sa.Column('voix', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['liste2024.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_circonscription_id'], ['resultats2024_circonscription.id'], ),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['europeennes_2024_liste.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_circonscription_id'], ['europeennes_2024_resultats_circonscription.id'], ),
|
||||
sa.PrimaryKeyConstraint('liste_id', 'resultats_circonscription_id')
|
||||
)
|
||||
op.create_table('voix2024_commune',
|
||||
op.create_table('europeennes_2024_voix_commune',
|
||||
sa.Column('liste_id', sa.Integer(), nullable=False),
|
||||
sa.Column('resultats_commune_id', sa.Integer(), nullable=False),
|
||||
sa.Column('voix', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['liste2024.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_commune_id'], ['resultats2024_commune.id'], ),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['europeennes_2024_liste.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_commune_id'], ['europeennes_2024_resultats_commune.id'], ),
|
||||
sa.PrimaryKeyConstraint('liste_id', 'resultats_commune_id')
|
||||
)
|
||||
op.create_table('voix2024_bureau_vote',
|
||||
op.create_table('europeennes_2024_voix_bureau_vote',
|
||||
sa.Column('liste_id', sa.Integer(), nullable=False),
|
||||
sa.Column('resultats_bureau_vote_id', sa.Integer(), nullable=False),
|
||||
sa.Column('voix', sa.Integer(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['liste2024.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_bureau_vote_id'], ['resultats2024_bureau_vote.id'], ),
|
||||
sa.ForeignKeyConstraint(['liste_id'], ['europeennes_2024_liste.id'], ),
|
||||
sa.ForeignKeyConstraint(['resultats_bureau_vote_id'], ['europeennes_2024_resultats_bureau_vote.id'], ),
|
||||
sa.PrimaryKeyConstraint('liste_id', 'resultats_bureau_vote_id')
|
||||
)
|
||||
# ### end Alembic commands ###
|
||||
|
@ -241,25 +241,25 @@ def upgrade() -> None:
|
|||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table('voix2024_bureau_vote')
|
||||
op.drop_table('voix2024_commune')
|
||||
op.drop_table('voix2024_circonscription')
|
||||
op.drop_table('resultats2024_bureau_vote')
|
||||
op.drop_table('voix2024_departement')
|
||||
op.drop_table('resultats2024_commune')
|
||||
op.drop_table('resultats2024_circonscription')
|
||||
op.drop_table('europeennes_2024_voix_bureau_vote')
|
||||
op.drop_table('europeennes_2024_voix_commune')
|
||||
op.drop_table('europeennes_2024_voix_circonscription')
|
||||
op.drop_table('europeennes_2024_resultats_bureau_vote')
|
||||
op.drop_table('europeennes_2024_voix_departement')
|
||||
op.drop_table('europeennes_2024_resultats_commune')
|
||||
op.drop_table('europeennes_2024_resultats_circonscription')
|
||||
op.drop_table('bureau_vote')
|
||||
op.drop_table('voix2024_region')
|
||||
op.drop_table('voix2024_france')
|
||||
op.drop_table('resultats2024_departement')
|
||||
op.drop_table('europeennes_2024_voix_region')
|
||||
op.drop_table('europeennes_2024_voix_france')
|
||||
op.drop_table('europeennes_2024_resultats_departement')
|
||||
op.drop_table('europeennes_2024_candidat')
|
||||
op.drop_table('commune')
|
||||
op.drop_table('circonscription')
|
||||
op.drop_table('candidat2024')
|
||||
op.drop_table('resultats2024_region')
|
||||
op.drop_table('liste2024')
|
||||
op.drop_table('europeennes_2024_resultats_region')
|
||||
op.drop_table('europeennes_2024_liste')
|
||||
op.drop_table('departement')
|
||||
op.drop_table('resultats2024_france')
|
||||
op.drop_table('region')
|
||||
op.drop_table('nuance2024')
|
||||
op.drop_table('bloc2024')
|
||||
op.drop_table('europeennes_2024_resultats_france')
|
||||
op.drop_table('europeennes_2024_nuance')
|
||||
op.drop_table('europeennes_2024_bloc')
|
||||
# ### end Alembic commands ###
|
|
@ -1,7 +1,3 @@
|
|||
from .base import Base
|
||||
from .geographie import Region, Departement, Commune, Circonscription, BureauVote
|
||||
from .europeennes2024 import Bloc as Bloc2024, Nuance as Nuance2024, Liste as Liste2024, Candidat as Candidat2024, \
|
||||
ResultatsFrance as ResultatsFrance2024, ResultatsRegion as ResultatsRegion2024, ResultatsDepartement as ResultatsDepartement2024, \
|
||||
ResultatsCommune as ResultatsCommune2024, ResultatsBureauVote as ResultatsBureauVote2024, \
|
||||
VoixListeFrance as VoixListeFrance2024, VoixListeRegion as VoixListeRegion2024, VoixListeDepartement as VoixListeDepartement2024, \
|
||||
VoixListeCommune as VoixListeCommune2024, VoixListeBureauVote as VoixListeBureauVote2024
|
||||
from .geographie import *
|
||||
from .europeennes2024 import *
|
||||
|
|
|
@ -8,52 +8,57 @@ from sqlalchemy.orm import mapped_column, Mapped, relationship
|
|||
from nupes.models import Base, Region, Departement, Commune
|
||||
|
||||
|
||||
class Bloc(Base):
|
||||
__tablename__ = "bloc2024"
|
||||
class BlocEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_bloc"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
nom: Mapped[str] = mapped_column(String(32), unique=True)
|
||||
couleur: Mapped[str] = mapped_column(String(7))
|
||||
|
||||
listes: Mapped[List["Liste"]] = relationship("Liste", back_populates="bloc")
|
||||
listes: Mapped[List["ListeEuropeennes2024"]] = relationship("ListeEuropeennes2024", back_populates="bloc")
|
||||
|
||||
|
||||
class Nuance(Base):
|
||||
__tablename__ = "nuance2024"
|
||||
class NuanceEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_nuance"
|
||||
|
||||
code: Mapped[str] = mapped_column(String(8), primary_key=True)
|
||||
nom: Mapped[str] = mapped_column(String(64), unique=True)
|
||||
couleur: Mapped[str] = mapped_column(String(7))
|
||||
|
||||
listes: Mapped[List["Liste"]] = relationship("Liste", back_populates="nuance")
|
||||
listes: Mapped[List["ListeEuropeennes2024"]] = relationship("ListeEuropeennes2024", back_populates="nuance")
|
||||
|
||||
|
||||
class Liste(Base):
|
||||
__tablename__ = "liste2024"
|
||||
class ListeEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_liste"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
nom: Mapped[str] = mapped_column(String(256), unique=True)
|
||||
nom_majuscules: Mapped[str] = mapped_column(String(256), unique=True, nullable=True)
|
||||
numero: Mapped[int] = mapped_column(Integer(), unique=True)
|
||||
nuance_id: Mapped[str] = mapped_column(ForeignKey("nuance2024.code"))
|
||||
bloc_id: Mapped[int] = mapped_column(ForeignKey("bloc2024.id"))
|
||||
nuance_id: Mapped[str] = mapped_column(ForeignKey("europeennes_2024_nuance.code"))
|
||||
bloc_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_bloc.id"))
|
||||
|
||||
nuance: Mapped[Nuance] = relationship(Nuance, back_populates="listes")
|
||||
bloc: Mapped[Bloc] = relationship(Bloc, back_populates="listes")
|
||||
candidats: Mapped[List["Candidat"]] = relationship("Candidat", back_populates="liste")
|
||||
nuance: Mapped[NuanceEuropeennes2024] = relationship(NuanceEuropeennes2024, back_populates="listes")
|
||||
bloc: Mapped[BlocEuropeennes2024] = relationship(BlocEuropeennes2024, back_populates="listes")
|
||||
candidats: Mapped[List["CandidatEuropeennes2024"]] = relationship("CandidatEuropeennes2024",
|
||||
back_populates="liste")
|
||||
|
||||
resultats_nationaux: Mapped[List["VoixListeFrance"]] = relationship("VoixListeFrance", back_populates="liste")
|
||||
resultats_par_region: Mapped[List["VoixListeRegion"]] = relationship("VoixListeRegion", back_populates="liste")
|
||||
resultats_par_departement: Mapped[List["VoixListeDepartement"]] = relationship("VoixListeDepartement",
|
||||
back_populates="liste")
|
||||
resultats_par_circonscription: Mapped[List["VoixListeCirconscription"]] = relationship(
|
||||
"VoixListeCirconscription", back_populates="liste")
|
||||
resultats_par_commune: Mapped[List["VoixListeCommune"]] = relationship("VoixListeCommune", back_populates="liste")
|
||||
resultats_par_bureau_vote: Mapped[List["VoixListeBureauVote"]] = relationship("VoixListeBureauVote",
|
||||
back_populates="liste")
|
||||
resultats_nationaux: Mapped[List["VoixListeFranceEuropeennes2024"]] = relationship(
|
||||
"VoixListeFranceEuropeennes2024", back_populates="liste")
|
||||
resultats_par_region: Mapped[List["VoixListeRegionEuropeennes2024"]] = relationship(
|
||||
"VoixListeRegionEuropeennes2024", back_populates="liste")
|
||||
resultats_par_departement: Mapped[List[
|
||||
"VoixListeDepartementEuropeennes2024"]] = relationship(
|
||||
"VoixListeDepartementEuropeennes2024", back_populates="liste")
|
||||
resultats_par_circonscription: Mapped[List["VoixListeCirconscriptionEuropeennes2024"]] = relationship(
|
||||
"VoixListeCirconscriptionEuropeennes2024", back_populates="liste")
|
||||
resultats_par_commune: Mapped[List["VoixListeCommuneEuropeennes2024"]] = relationship(
|
||||
"VoixListeCommuneEuropeennes2024", back_populates="liste")
|
||||
resultats_par_bureau_vote: Mapped[List["VoixListeBureauVoteEuropeennes2024"]] = relationship(
|
||||
"VoixListeBureauVoteEuropeennes2024", back_populates="liste")
|
||||
|
||||
|
||||
class Candidat(Base):
|
||||
class CandidatEuropeennes2024(Base):
|
||||
class Genre(enum.Enum):
|
||||
MASCULIN = "M"
|
||||
FEMININ = "F"
|
||||
|
@ -68,10 +73,10 @@ class Candidat(Base):
|
|||
PRESIDENT_CONSEIL_DEPARTEMENTAL = "PCD"
|
||||
MAIRE = "MAI"
|
||||
|
||||
__tablename__ = "candidat2024"
|
||||
__tablename__ = "europeennes_2024_candidat"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("liste2024.id"))
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_liste.id"))
|
||||
ordre: Mapped[int] = mapped_column(Integer())
|
||||
nom: Mapped[str] = mapped_column(String(256))
|
||||
prenom: Mapped[str] = mapped_column(String(256))
|
||||
|
@ -81,11 +86,11 @@ class Candidat(Base):
|
|||
code_personnalite: Mapped[str] = mapped_column(Enum(Personnalite))
|
||||
sortant: Mapped[bool] = mapped_column(Boolean())
|
||||
|
||||
liste: Mapped[Liste] = relationship(Liste, back_populates="candidats")
|
||||
liste: Mapped[ListeEuropeennes2024] = relationship(ListeEuropeennes2024, back_populates="candidats")
|
||||
|
||||
|
||||
class ResultatsFrance(Base):
|
||||
__tablename__ = "resultats2024_france"
|
||||
class ResultatsFranceEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_resultats_france"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
inscrits: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
@ -95,17 +100,18 @@ class ResultatsFrance(Base):
|
|||
blancs: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
nuls: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
resultats_regions: Mapped[List["ResultatsRegion"]] = relationship("ResultatsRegion",
|
||||
back_populates="resultats_france")
|
||||
voix_listes: Mapped[List["VoixListeFrance"]] = relationship("VoixListeFrance", back_populates="resultats_france")
|
||||
resultats_regions: Mapped[List["ResultatsRegionEuropeennes2024"]] = relationship(
|
||||
"ResultatsRegionEuropeennes2024", back_populates="resultats_france")
|
||||
voix_listes: Mapped[List["VoixListeFranceEuropeennes2024"]] = relationship(
|
||||
"VoixListeFranceEuropeennes2024", back_populates="resultats_france")
|
||||
|
||||
|
||||
class ResultatsRegion(Base):
|
||||
__tablename__ = "resultats2024_region"
|
||||
class ResultatsRegionEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_resultats_region"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
region_id: Mapped[str] = mapped_column(ForeignKey("region.code_insee"))
|
||||
resultats_france_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_france.id"))
|
||||
resultats_france_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_france.id"))
|
||||
inscrits: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
votants: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
abstentions: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
@ -113,19 +119,20 @@ class ResultatsRegion(Base):
|
|||
blancs: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
nuls: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
region = relationship(Region, back_populates="resultats2024")
|
||||
resultats_france = relationship(ResultatsFrance, back_populates="resultats_regions")
|
||||
resultats_departements: Mapped[List["ResultatsDepartement"]] = relationship("ResultatsDepartement",
|
||||
back_populates="resultats_region")
|
||||
voix_listes: Mapped[List["VoixListeRegion"]] = relationship("VoixListeRegion", back_populates="resultats_region")
|
||||
region = relationship(Region, back_populates="resultats_europeennes_2024")
|
||||
resultats_france = relationship(ResultatsFranceEuropeennes2024, back_populates="resultats_regions")
|
||||
resultats_departements: Mapped[List["ResultatsDepartementEuropeennes2024"]] = relationship(
|
||||
"ResultatsDepartementEuropeennes2024", back_populates="resultats_region")
|
||||
voix_listes: Mapped[List["VoixListeRegionEuropeennes2024"]] = relationship(
|
||||
"VoixListeRegionEuropeennes2024", back_populates="resultats_region")
|
||||
|
||||
|
||||
class ResultatsDepartement(Base):
|
||||
__tablename__ = "resultats2024_departement"
|
||||
class ResultatsDepartementEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_resultats_departement"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
dpt_id: Mapped[str] = mapped_column(ForeignKey("departement.code_insee"))
|
||||
resultats_region_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_region.id"), nullable=True)
|
||||
resultats_region_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_region.id"), nullable=True)
|
||||
inscrits: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
votants: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
abstentions: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
@ -133,22 +140,22 @@ class ResultatsDepartement(Base):
|
|||
blancs: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
nuls: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
departement = relationship(Departement, back_populates="resultats2024")
|
||||
resultats_region = relationship(ResultatsRegion, back_populates="resultats_departements")
|
||||
resultats_communes: Mapped[List["ResultatsCommune"]] = relationship("ResultatsCommune",
|
||||
back_populates="resultats_departement")
|
||||
resultats_circonscriptions: Mapped[List["ResultatsCirconscription"]] = relationship(
|
||||
"ResultatsCirconscription", back_populates="resultats_departement")
|
||||
voix_listes: Mapped[List["VoixListeDepartement"]] = relationship("VoixListeDepartement",
|
||||
back_populates="resultats_departement")
|
||||
departement = relationship(Departement, back_populates="resultats_europeennes_2024")
|
||||
resultats_region = relationship(ResultatsRegionEuropeennes2024, back_populates="resultats_departements")
|
||||
resultats_communes: Mapped[List["ResultatsCommuneEuropeennes2024"]] = relationship(
|
||||
"ResultatsCommuneEuropeennes2024", back_populates="resultats_departement")
|
||||
resultats_circonscriptions: Mapped[List["ResultatsCirconscriptionEuropeennes2024"]] = relationship(
|
||||
"ResultatsCirconscriptionEuropeennes2024", back_populates="resultats_departement")
|
||||
voix_listes: Mapped[List["VoixListeDepartementEuropeennes2024"]] = relationship(
|
||||
"VoixListeDepartementEuropeennes2024", back_populates="resultats_departement")
|
||||
|
||||
|
||||
class ResultatsCirconscription(Base):
|
||||
__tablename__ = "resultats2024_circonscription"
|
||||
class ResultatsCirconscriptionEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_resultats_circonscription"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
circo_id: Mapped[str] = mapped_column(ForeignKey("circonscription.id"))
|
||||
resultats_departement_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_departement.id"))
|
||||
resultats_departement_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_departement.id"))
|
||||
inscrits: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
votants: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
abstentions: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
@ -156,20 +163,21 @@ class ResultatsCirconscription(Base):
|
|||
blancs: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
nuls: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
circonscription = relationship("Circonscription", back_populates="resultats2024")
|
||||
resultats_departement = relationship(ResultatsDepartement, back_populates="resultats_circonscriptions")
|
||||
resultats_bureaux_vote: Mapped[List["ResultatsBureauVote"]] = relationship(
|
||||
"ResultatsBureauVote", back_populates="resultats_circonscription")
|
||||
voix_listes: Mapped[List["VoixListeCirconscription"]] = relationship("VoixListeCirconscription",
|
||||
back_populates="resultats_circonscription")
|
||||
circonscription = relationship("Circonscription", back_populates="resultats_europeennes_2024")
|
||||
resultats_departement = relationship(ResultatsDepartementEuropeennes2024,
|
||||
back_populates="resultats_circonscriptions")
|
||||
resultats_bureaux_vote: Mapped[List["ResultatsBureauVoteEuropeennes2024"]] = relationship(
|
||||
"ResultatsBureauVoteEuropeennes2024", back_populates="resultats_circonscription")
|
||||
voix_listes: Mapped[List["VoixListeCirconscriptionEuropeennes2024"]] = relationship(
|
||||
"VoixListeCirconscriptionEuropeennes2024", back_populates="resultats_circonscription")
|
||||
|
||||
|
||||
class ResultatsCommune(Base):
|
||||
__tablename__ = "resultats2024_commune"
|
||||
class ResultatsCommuneEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_resultats_commune"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
commune_id: Mapped[str] = mapped_column(ForeignKey("commune.code_insee"))
|
||||
resultats_dpt_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_departement.id"))
|
||||
resultats_dpt_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_departement.id"))
|
||||
inscrits: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
votants: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
abstentions: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
@ -177,20 +185,22 @@ class ResultatsCommune(Base):
|
|||
blancs: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
nuls: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
commune = relationship(Commune, back_populates="resultats2024")
|
||||
resultats_departement = relationship(ResultatsDepartement, back_populates="resultats_communes")
|
||||
resultats_bureaux_vote: Mapped[List["ResultatsBureauVote"]] = relationship("ResultatsBureauVote",
|
||||
back_populates="resultats_commune")
|
||||
voix_listes: Mapped[List["VoixListeCommune"]] = relationship("VoixListeCommune", back_populates="resultats_commune")
|
||||
commune = relationship(Commune, back_populates="resultats_europeennes_2024")
|
||||
resultats_departement = relationship(ResultatsDepartementEuropeennes2024, back_populates="resultats_communes")
|
||||
resultats_bureaux_vote: Mapped[List["ResultatsBureauVoteEuropeennes2024"]] = relationship(
|
||||
"ResultatsBureauVoteEuropeennes2024", back_populates="resultats_commune")
|
||||
voix_listes: Mapped[List["VoixListeCommuneEuropeennes2024"]] = relationship(
|
||||
"VoixListeCommuneEuropeennes2024", back_populates="resultats_commune")
|
||||
|
||||
|
||||
class ResultatsBureauVote(Base):
|
||||
__tablename__ = "resultats2024_bureau_vote"
|
||||
class ResultatsBureauVoteEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_resultats_bureau_vote"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
bv_id: Mapped[str] = mapped_column(ForeignKey("bureau_vote.id"))
|
||||
resultats_commune_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_commune.id"))
|
||||
resultats_circo_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_circonscription.id"), nullable=True)
|
||||
resultats_commune_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_commune.id"))
|
||||
resultats_circo_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_circonscription.id"),
|
||||
nullable=True)
|
||||
inscrits: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
votants: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
abstentions: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
@ -198,77 +208,88 @@ class ResultatsBureauVote(Base):
|
|||
blancs: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
nuls: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
bureau_vote = relationship("BureauVote", back_populates="resultats2024")
|
||||
resultats_commune = relationship(ResultatsCommune, back_populates="resultats_bureaux_vote")
|
||||
resultats_circonscription = relationship(ResultatsCirconscription, back_populates="resultats_bureaux_vote")
|
||||
voix_listes: Mapped[List["VoixListeBureauVote"]] = relationship("VoixListeBureauVote",
|
||||
back_populates="resultats_bureau_vote")
|
||||
bureau_vote = relationship("BureauVote", back_populates="resultats_europeennes_2024")
|
||||
resultats_commune = relationship(ResultatsCommuneEuropeennes2024, back_populates="resultats_bureaux_vote")
|
||||
resultats_circonscription = relationship(ResultatsCirconscriptionEuropeennes2024,
|
||||
back_populates="resultats_bureaux_vote")
|
||||
voix_listes: Mapped[List["VoixListeBureauVoteEuropeennes2024"]] = relationship(
|
||||
"VoixListeBureauVoteEuropeennes2024", back_populates="resultats_bureau_vote")
|
||||
|
||||
|
||||
class VoixListeFrance(Base):
|
||||
__tablename__ = "voix2024_france"
|
||||
class VoixListeFranceEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_voix_france"
|
||||
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("liste2024.id"), primary_key=True)
|
||||
resultats_france_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_france.id"), primary_key=True)
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_liste.id"), primary_key=True)
|
||||
resultats_france_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_france.id"),
|
||||
primary_key=True)
|
||||
voix: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
liste: Mapped[Liste] = relationship(Liste, back_populates="resultats_nationaux")
|
||||
resultats_france: Mapped[ResultatsFrance] = relationship(ResultatsFrance, back_populates="voix_listes")
|
||||
liste: Mapped[ListeEuropeennes2024] = relationship(ListeEuropeennes2024, back_populates="resultats_nationaux")
|
||||
resultats_france: Mapped[ResultatsFranceEuropeennes2024] = relationship(ResultatsFranceEuropeennes2024,
|
||||
back_populates="voix_listes")
|
||||
|
||||
|
||||
class VoixListeRegion(Base):
|
||||
__tablename__ = "voix2024_region"
|
||||
class VoixListeRegionEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_voix_region"
|
||||
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("liste2024.id"), primary_key=True)
|
||||
resultats_region_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_region.id"), primary_key=True)
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_liste.id"), primary_key=True)
|
||||
resultats_region_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_region.id"),
|
||||
primary_key=True)
|
||||
voix: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
liste: Mapped[Liste] = relationship(Liste, back_populates="resultats_par_region")
|
||||
resultats_region: Mapped[ResultatsRegion] = relationship(ResultatsRegion, back_populates="voix_listes")
|
||||
liste: Mapped[ListeEuropeennes2024] = relationship(ListeEuropeennes2024, back_populates="resultats_par_region")
|
||||
resultats_region: Mapped[ResultatsRegionEuropeennes2024] = relationship(ResultatsRegionEuropeennes2024,
|
||||
back_populates="voix_listes")
|
||||
|
||||
|
||||
class VoixListeDepartement(Base):
|
||||
__tablename__ = "voix2024_departement"
|
||||
class VoixListeDepartementEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_voix_departement"
|
||||
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("liste2024.id"), primary_key=True)
|
||||
resultats_departement_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_departement.id"), primary_key=True)
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_liste.id"), primary_key=True)
|
||||
resultats_departement_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_departement.id"),
|
||||
primary_key=True)
|
||||
voix: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
liste: Mapped[Liste] = relationship(Liste, back_populates="resultats_par_departement")
|
||||
resultats_departement: Mapped[ResultatsDepartement] = relationship(ResultatsDepartement,
|
||||
back_populates="voix_listes")
|
||||
liste: Mapped[ListeEuropeennes2024] = relationship(ListeEuropeennes2024, back_populates="resultats_par_departement")
|
||||
resultats_departement: Mapped[ResultatsDepartementEuropeennes2024] = relationship(
|
||||
ResultatsDepartementEuropeennes2024, back_populates="voix_listes")
|
||||
|
||||
|
||||
class VoixListeCirconscription(Base):
|
||||
__tablename__ = "voix2024_circonscription"
|
||||
class VoixListeCirconscriptionEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_voix_circonscription"
|
||||
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("liste2024.id"), primary_key=True)
|
||||
resultats_circonscription_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_circonscription.id"),
|
||||
primary_key=True)
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_liste.id"), primary_key=True)
|
||||
resultats_circonscription_id: Mapped[int] = mapped_column(
|
||||
ForeignKey("europeennes_2024_resultats_circonscription.id"), primary_key=True)
|
||||
voix: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
liste: Mapped[Liste] = relationship(Liste, back_populates="resultats_par_circonscription")
|
||||
resultats_circonscription: Mapped[ResultatsCirconscription] = relationship(ResultatsCirconscription,
|
||||
back_populates="voix_listes")
|
||||
liste: Mapped[ListeEuropeennes2024] = relationship(ListeEuropeennes2024,
|
||||
back_populates="resultats_par_circonscription")
|
||||
resultats_circonscription: Mapped[ResultatsCirconscriptionEuropeennes2024] = relationship(
|
||||
ResultatsCirconscriptionEuropeennes2024, back_populates="voix_listes")
|
||||
|
||||
|
||||
class VoixListeCommune(Base):
|
||||
__tablename__ = "voix2024_commune"
|
||||
class VoixListeCommuneEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_voix_commune"
|
||||
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("liste2024.id"), primary_key=True)
|
||||
resultats_commune_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_commune.id"), primary_key=True)
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_liste.id"), primary_key=True)
|
||||
resultats_commune_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_commune.id"),
|
||||
primary_key=True)
|
||||
voix: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
liste: Mapped[Liste] = relationship(Liste, back_populates="resultats_par_commune")
|
||||
resultats_commune: Mapped[ResultatsCommune] = relationship(ResultatsCommune, back_populates="voix_listes")
|
||||
liste: Mapped[ListeEuropeennes2024] = relationship(ListeEuropeennes2024, back_populates="resultats_par_commune")
|
||||
resultats_commune: Mapped[ResultatsCommuneEuropeennes2024] = relationship(ResultatsCommuneEuropeennes2024,
|
||||
back_populates="voix_listes")
|
||||
|
||||
|
||||
class VoixListeBureauVote(Base):
|
||||
__tablename__ = "voix2024_bureau_vote"
|
||||
class VoixListeBureauVoteEuropeennes2024(Base):
|
||||
__tablename__ = "europeennes_2024_voix_bureau_vote"
|
||||
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("liste2024.id"), primary_key=True)
|
||||
resultats_bureau_vote_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_bureau_vote.id"), primary_key=True)
|
||||
liste_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_liste.id"), primary_key=True)
|
||||
resultats_bureau_vote_id: Mapped[int] = mapped_column(ForeignKey("europeennes_2024_resultats_bureau_vote.id"),
|
||||
primary_key=True)
|
||||
voix: Mapped[int] = mapped_column(Integer(), default=0)
|
||||
|
||||
liste: Mapped[Liste] = relationship(Liste, back_populates="resultats_par_bureau_vote")
|
||||
resultats_bureau_vote: Mapped[ResultatsBureauVote] = relationship(ResultatsBureauVote, back_populates="voix_listes")
|
||||
liste: Mapped[ListeEuropeennes2024] = relationship(ListeEuropeennes2024, back_populates="resultats_par_bureau_vote")
|
||||
resultats_bureau_vote: Mapped[ResultatsBureauVoteEuropeennes2024] = relationship(ResultatsBureauVoteEuropeennes2024,
|
||||
back_populates="voix_listes")
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from typing import List
|
||||
|
||||
from sqlalchemy import Float, ForeignKey, Integer, JSON, String
|
||||
from sqlalchemy import ForeignKey, Integer, JSON, String
|
||||
from sqlalchemy.orm import mapped_column, Mapped, relationship
|
||||
|
||||
from nupes.models import Base
|
||||
|
@ -15,7 +15,7 @@ class Region(Base):
|
|||
|
||||
departements: Mapped[List["Departement"]] = relationship("Departement", back_populates="region")
|
||||
|
||||
resultats2024 = relationship("ResultatsRegion", back_populates="region")
|
||||
resultats_europeennes_2024 = relationship("ResultatsRegionEuropeennes2024", back_populates="region")
|
||||
|
||||
|
||||
class Departement(Base):
|
||||
|
@ -30,7 +30,7 @@ class Departement(Base):
|
|||
circonscriptions: Mapped[List["Circonscription"]] = relationship("Circonscription", back_populates="departement")
|
||||
communes: Mapped[List["Commune"]] = relationship("Commune", back_populates="departement")
|
||||
|
||||
resultats2024 = relationship("ResultatsDepartement", back_populates="departement")
|
||||
resultats_europeennes_2024 = relationship("ResultatsDepartementEuropeennes2024", back_populates="departement")
|
||||
|
||||
|
||||
class Commune(Base):
|
||||
|
@ -44,7 +44,7 @@ class Commune(Base):
|
|||
departement: Mapped[Departement] = relationship(Departement, back_populates="communes")
|
||||
bureaux_vote: Mapped[List["BureauVote"]] = relationship("BureauVote", back_populates="commune")
|
||||
|
||||
resultats2024 = relationship("ResultatsCommune", back_populates="commune")
|
||||
resultats_europeennes_2024 = relationship("ResultatsCommuneEuropeennes2024", back_populates="commune")
|
||||
|
||||
|
||||
class Circonscription(Base):
|
||||
|
@ -58,7 +58,8 @@ class Circonscription(Base):
|
|||
departement: Mapped[Departement] = relationship(Departement, back_populates="circonscriptions")
|
||||
bureaux_vote: Mapped[List["BureauVote"]] = relationship("BureauVote", back_populates="circonscription")
|
||||
|
||||
resultats2024 = relationship("ResultatsCirconscription", back_populates="circonscription")
|
||||
resultats_europeennes_2024 = relationship("ResultatsCirconscriptionEuropeennes2024",
|
||||
back_populates="circonscription")
|
||||
|
||||
|
||||
class BureauVote(Base):
|
||||
|
@ -75,4 +76,4 @@ class BureauVote(Base):
|
|||
commune: Mapped[Commune] = relationship(Commune, back_populates="bureaux_vote")
|
||||
circonscription: Mapped[Circonscription] = relationship(Circonscription, back_populates="bureaux_vote")
|
||||
|
||||
resultats2024 = relationship("ResultatsBureauVote", back_populates="bureau_vote")
|
||||
resultats_europeennes_2024 = relationship("ResultatsBureauVoteEuropeennes2024", back_populates="bureau_vote")
|
||||
|
|
|
@ -6,16 +6,14 @@ from sqlalchemy.orm import Session
|
|||
from tqdm import tqdm
|
||||
|
||||
from nupes.models.geographie import Region, Departement, Commune, Circonscription, BureauVote
|
||||
from nupes.models.europeennes2024 import Bloc, Nuance, Liste, \
|
||||
ResultatsFrance, ResultatsRegion, ResultatsDepartement, ResultatsCommune, \
|
||||
ResultatsCirconscription, ResultatsBureauVote
|
||||
from nupes.models.europeennes2024 import *
|
||||
|
||||
DATA_DIR = Path(__file__).parent.parent.parent / 'data'
|
||||
|
||||
|
||||
def exporter_listes(engine: Engine, verbose: bool = False) -> None:
|
||||
with Session(engine) as session:
|
||||
blocs = session.execute(select(Bloc)).scalars().all()
|
||||
blocs = session.execute(select(BlocEuropeennes2024)).scalars().all()
|
||||
blocs_json = []
|
||||
|
||||
for bloc in blocs:
|
||||
|
@ -29,7 +27,7 @@ def exporter_listes(engine: Engine, verbose: bool = False) -> None:
|
|||
with file.open('w') as f:
|
||||
json.dump(blocs_json, f)
|
||||
|
||||
nuances = session.execute(select(Nuance)).scalars().all()
|
||||
nuances = session.execute(select(NuanceEuropeennes2024)).scalars().all()
|
||||
nuances_json = []
|
||||
|
||||
for nuance in nuances:
|
||||
|
@ -43,7 +41,7 @@ def exporter_listes(engine: Engine, verbose: bool = False) -> None:
|
|||
with file.open('w') as f:
|
||||
json.dump(nuances_json, f)
|
||||
|
||||
listes = session.execute(select(Liste)).scalars().all()
|
||||
listes = session.execute(select(ListeEuropeennes2024)).scalars().all()
|
||||
listes_json = []
|
||||
|
||||
for liste in listes:
|
||||
|
@ -67,9 +65,9 @@ def exporter_listes(engine: Engine, verbose: bool = False) -> None:
|
|||
|
||||
def exporter_resultats_france(engine: Engine, verbose: bool = False) -> None:
|
||||
with Session(engine) as session:
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one_or_none()
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one_or_none()
|
||||
if not resultats_france:
|
||||
resultats_france = ResultatsFrance()
|
||||
resultats_france = ResultatsFranceEuropeennes2024()
|
||||
session.add(resultats_france)
|
||||
|
||||
resultats_dict = {
|
||||
|
@ -117,11 +115,12 @@ def exporter_resultats_regions(engine: Engine, verbose: bool = False) -> None:
|
|||
.scalars().all()]}
|
||||
regions_json.append(region_json)
|
||||
|
||||
resultats_region = session.execute(select(ResultatsRegion).filter_by(region_id=region.code_insee)) \
|
||||
.scalar_one_or_none()
|
||||
resultats_region = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=region.code_insee)).scalar_one_or_none()
|
||||
if not resultats_region:
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one()
|
||||
resultats_region = ResultatsRegion(region_id=region.code_insee, resultats_france_id=resultats_france.id)
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one()
|
||||
resultats_region = ResultatsRegionEuropeennes2024(region_id=region.code_insee,
|
||||
resultats_france_id=resultats_france.id)
|
||||
session.add(resultats_region)
|
||||
|
||||
resultats_dict = {
|
||||
|
@ -171,12 +170,13 @@ def exporter_resultats_departements(engine: Engine, verbose: bool = False) -> No
|
|||
departements_json.append(departement_json)
|
||||
|
||||
resultats_departement = session.execute(
|
||||
select(ResultatsDepartement).filter_by(dpt_id=departement.code_insee)).scalar_one_or_none()
|
||||
select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=departement.code_insee)).scalar_one_or_none()
|
||||
if not resultats_departement:
|
||||
resultats_region = session.execute(select(ResultatsRegion)
|
||||
resultats_region = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=departement.region_code)).scalar_one()
|
||||
resultats_departement = ResultatsDepartement(dpt_id=departement.code_insee,
|
||||
resultats_region_id=resultats_region.id)
|
||||
resultats_departement = ResultatsDepartementEuropeennes2024(dpt_id=departement.code_insee,
|
||||
resultats_region_id=resultats_region.id)
|
||||
session.add(resultats_departement)
|
||||
|
||||
resultats_dict = {
|
||||
|
@ -225,12 +225,14 @@ def exporter_resultats_circonscriptions(engine: Engine, verbose: bool = False) -
|
|||
circonscriptions_json.append(circonscription_json)
|
||||
|
||||
resultats_circonscription = session.execute(
|
||||
select(ResultatsCirconscription).filter_by(circo_id=circonscription.id)).scalar_one_or_none()
|
||||
select(ResultatsCirconscriptionEuropeennes2024)
|
||||
.filter_by(circo_id=circonscription.id)).scalar_one_or_none()
|
||||
if not resultats_circonscription:
|
||||
resultats_departement = session.execute(select(ResultatsDepartement)
|
||||
.filter_by(dpt_id=circonscription.departement_code)).scalar_one()
|
||||
resultats_circonscription = ResultatsCirconscription(circo_id=circonscription.id,
|
||||
resultats_departement_id=resultats_departement.id)
|
||||
resultats_departement = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=circonscription.departement_code)) \
|
||||
.scalar_one()
|
||||
resultats_circonscription = ResultatsCirconscriptionEuropeennes2024(
|
||||
circo_id=circonscription.id, resultats_departement_id=resultats_departement.id)
|
||||
session.add(resultats_circonscription)
|
||||
|
||||
resultats_dict = {
|
||||
|
@ -280,12 +282,12 @@ def exporter_resultats_communes(engine: Engine, verbose: bool = False) -> None:
|
|||
communes_json.append(commune_json)
|
||||
|
||||
resultats_commune = session.execute(
|
||||
select(ResultatsCommune).filter_by(commune_id=commune.code_insee)).scalar_one_or_none()
|
||||
select(ResultatsCommuneEuropeennes2024).filter_by(commune_id=commune.code_insee)).scalar_one_or_none()
|
||||
if not resultats_commune:
|
||||
resultats_departement = session.execute(select(ResultatsDepartement)
|
||||
resultats_departement = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=commune.departement_code)).scalar_one()
|
||||
resultats_commune = ResultatsCommune(commune_id=commune.code_insee,
|
||||
resultats_dpt_id=resultats_departement.id)
|
||||
resultats_commune = ResultatsCommuneEuropeennes2024(commune_id=commune.code_insee,
|
||||
resultats_dpt_id=resultats_departement.id)
|
||||
session.add(resultats_commune)
|
||||
|
||||
resultats_dict = {
|
||||
|
@ -335,12 +337,12 @@ def exporter_resultats_bureaux_vote(engine: Engine, verbose: bool = False) -> No
|
|||
bureaux_vote_json.append(bureau_vote_json)
|
||||
|
||||
resultats_bureau_vote = session.execute(
|
||||
select(ResultatsBureauVote).filter_by(bv_id=bureau_vote.id)).scalar_one_or_none()
|
||||
select(ResultatsBureauVoteEuropeennes2024).filter_by(bv_id=bureau_vote.id)).scalar_one_or_none()
|
||||
if not resultats_bureau_vote:
|
||||
resultats_commune = session.execute(select(ResultatsCommune)
|
||||
resultats_commune = session.execute(select(ResultatsCommuneEuropeennes2024)
|
||||
.filter_by(commune_id=bureau_vote.commune_code)).scalar_one()
|
||||
resultats_bureau_vote = ResultatsBureauVote(bv_id=bureau_vote.id,
|
||||
resultats_commune_id=resultats_commune.id)
|
||||
resultats_bureau_vote = ResultatsBureauVoteEuropeennes2024(bv_id=bureau_vote.id,
|
||||
resultats_commune_id=resultats_commune.id)
|
||||
session.add(resultats_bureau_vote)
|
||||
|
||||
resultats_dict = {
|
||||
|
|
|
@ -5,7 +5,8 @@ from sqlalchemy import Engine, select
|
|||
from sqlalchemy.orm import Session
|
||||
|
||||
from nupes.cache import get_file
|
||||
from nupes.models.europeennes2024 import Bloc, Nuance, Liste, Candidat
|
||||
from nupes.models.europeennes2024 import BlocEuropeennes2024, NuanceEuropeennes2024, ListeEuropeennes2024, \
|
||||
CandidatEuropeennes2024
|
||||
|
||||
|
||||
def creer_blocs(engine: Engine, verbose: bool = False) -> None:
|
||||
|
@ -13,17 +14,17 @@ def creer_blocs(engine: Engine, verbose: bool = False) -> None:
|
|||
{"id": 1, "nom": "Gauche", "couleur": "#BB1840"},
|
||||
{"id": 2, "nom": "Droite libérale", "couleur": "#FFEB00"},
|
||||
{"id": 3, "nom": "Droite conservatrice", "couleur": "#0066CC"},
|
||||
{"id": 4, "nom": "Extrême droite", "couleur": "#0D378A"},
|
||||
{"id": 4, "nom": "Extrême droite", "couleur": "#404040"},
|
||||
{"id": 5, "nom": "Autres", "couleur": "#DCBFA3"}
|
||||
]
|
||||
|
||||
with Session(engine) as session:
|
||||
for bloc_dict in blocs:
|
||||
if bloc := session.execute(select(Bloc).filter_by(id=bloc_dict["id"])).scalar_one_or_none():
|
||||
if bloc := session.execute(select(BlocEuropeennes2024).filter_by(id=bloc_dict["id"])).scalar_one_or_none():
|
||||
bloc.nom = bloc_dict["nom"]
|
||||
bloc.couleur = bloc_dict["couleur"]
|
||||
else:
|
||||
session.add(Bloc(**bloc_dict))
|
||||
session.add(BlocEuropeennes2024(**bloc_dict))
|
||||
|
||||
session.commit()
|
||||
|
||||
|
@ -48,11 +49,12 @@ def creer_nuances(engine: Engine, verbose: bool = False) -> None:
|
|||
|
||||
with Session(engine) as session:
|
||||
for nuance_dict in nuances:
|
||||
if nuance := session.execute(select(Nuance).filter_by(code=nuance_dict["code"])).scalar_one_or_none():
|
||||
if nuance := session.execute(select(NuanceEuropeennes2024)
|
||||
.filter_by(code=nuance_dict["code"])).scalar_one_or_none():
|
||||
nuance.nom = nuance_dict["nom"]
|
||||
nuance.couleur = nuance_dict["couleur"]
|
||||
else:
|
||||
session.add(Nuance(**nuance_dict))
|
||||
session.add(NuanceEuropeennes2024(**nuance_dict))
|
||||
|
||||
session.commit()
|
||||
|
||||
|
@ -113,14 +115,15 @@ def importer_listes(engine: Engine, verbose: bool = False) -> None:
|
|||
|
||||
with Session(engine) as session:
|
||||
for liste_dict in listes:
|
||||
if liste := session.execute(select(Liste).filter_by(numero=liste_dict["numero"])).scalar_one_or_none():
|
||||
if liste := session.execute(select(ListeEuropeennes2024)
|
||||
.filter_by(numero=liste_dict["numero"])).scalar_one_or_none():
|
||||
liste.nom = liste_dict["nom"]
|
||||
liste.nuance_id = liste_dict["nuance_id"]
|
||||
liste.bloc_id = liste_dict["bloc_id"]
|
||||
else:
|
||||
liste = Liste(numero=liste_dict['numero'], nom=liste_dict['nom'],
|
||||
nom_majuscules=liste_dict['nom'].upper(), nuance_id=liste_dict['nuance_id'],
|
||||
bloc_id=liste_dict['bloc_id'])
|
||||
liste = ListeEuropeennes2024(numero=liste_dict['numero'], nom=liste_dict['nom'],
|
||||
nom_majuscules=liste_dict['nom'].upper(),
|
||||
nuance_id=liste_dict['nuance_id'], bloc_id=liste_dict['bloc_id'])
|
||||
session.add(liste)
|
||||
|
||||
session.commit()
|
||||
|
@ -136,29 +139,30 @@ def importer_candidats(engine: Engine, verbose: bool = False) -> None:
|
|||
for line in reader:
|
||||
line: dict[str, str]
|
||||
numero_panneau = line.get("Numéro de panneau")
|
||||
liste = session.execute(select(Liste).filter_by(numero=numero_panneau)).scalar_one()
|
||||
liste = session.execute(select(ListeEuropeennes2024).filter_by(numero=numero_panneau)).scalar_one()
|
||||
liste.nom_majuscules = line['Libellé de la liste']
|
||||
|
||||
if candidat := session.execute(select(Candidat).filter_by(liste_id=liste.id, ordre=line['Ordre'])) \
|
||||
if candidat := session.execute(select(CandidatEuropeennes2024)
|
||||
.filter_by(liste_id=liste.id, ordre=line['Ordre'])) \
|
||||
.scalar_one_or_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 = Candidat.Genre(line['Sexe'])
|
||||
candidat.sexe = CandidatEuropeennes2024.Genre(line['Sexe'])
|
||||
candidat.date_naissance = datetime.datetime.strptime(line['Date de naissance'], "%d/%m/%Y").date()
|
||||
candidat.profession = line['Profession']
|
||||
candidat.code_personnalite = Candidat.Personnalite(line['Code personnalité'])
|
||||
candidat.code_personnalite = CandidatEuropeennes2024.Personnalite(line['Code personnalité'])
|
||||
candidat.sortant = line['Sortant'] == "OUI"
|
||||
else:
|
||||
candidat = Candidat(
|
||||
candidat = CandidatEuropeennes2024(
|
||||
liste_id=liste.id,
|
||||
ordre=int(line['Ordre']),
|
||||
nom=line['Nom sur le bulletin de vote'],
|
||||
prenom=line['Prénom sur le bulletin de vote'],
|
||||
sexe=Candidat.Genre(line['Sexe']).name,
|
||||
sexe=CandidatEuropeennes2024.Genre(line['Sexe']).name,
|
||||
date_naissance=datetime.datetime.strptime(line['Date de naissance'], "%d/%m/%Y").date(),
|
||||
profession=line['Profession'],
|
||||
code_personnalite=Candidat.Personnalite(line['Code personnalité']).name,
|
||||
code_personnalite=CandidatEuropeennes2024.Personnalite(line['Code personnalité']).name,
|
||||
sortant=line['Sortant'] == "OUI",
|
||||
)
|
||||
session.add(candidat)
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import json
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
import requests
|
||||
|
|
|
@ -6,10 +6,7 @@ from tqdm import tqdm
|
|||
|
||||
from nupes.cache import get_file
|
||||
from nupes.models import BureauVote, Departement
|
||||
from nupes.models.europeennes2024 import ResultatsBureauVote, Liste, ResultatsCommune, \
|
||||
ResultatsDepartement, ResultatsRegion, ResultatsFrance, \
|
||||
VoixListeBureauVote, VoixListeCommune, VoixListeDepartement, VoixListeRegion, VoixListeFrance, \
|
||||
ResultatsCirconscription, VoixListeCirconscription
|
||||
from nupes.models.europeennes2024 import *
|
||||
|
||||
|
||||
def importer_resultats_bv(engine: Engine, verbose: bool = False) -> None:
|
||||
|
@ -40,47 +37,52 @@ def importer_resultats_bv(engine: Engine, verbose: bool = False) -> None:
|
|||
print(f"Bureau de vote {com_code}_{bv_code} non trouvé")
|
||||
continue
|
||||
|
||||
resultats_bv = session.execute(select(ResultatsBureauVote).filter_by(bv_id=bv_id)).scalar_one_or_none()
|
||||
resultats_bv = session.execute(select(ResultatsBureauVoteEuropeennes2024)
|
||||
.filter_by(bv_id=bv_id)).scalar_one_or_none()
|
||||
if not resultats_bv:
|
||||
resultats_commune = session.execute(select(ResultatsCommune).filter_by(commune_id=com_code)) \
|
||||
.scalar_one_or_none()
|
||||
resultats_commune = session.execute(select(ResultatsCommuneEuropeennes2024)
|
||||
.filter_by(commune_id=com_code)).scalar_one_or_none()
|
||||
if not resultats_commune:
|
||||
resultats_dpt = session.execute(select(ResultatsDepartement)
|
||||
resultats_dpt = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=row['Code département'])) \
|
||||
.scalar_one_or_none()
|
||||
if not resultats_dpt:
|
||||
dpt = session.execute(select(Departement)
|
||||
.filter_by(code_insee=f"{row['Code département'].zfill(2)}")) \
|
||||
.scalar_one()
|
||||
resultats_reg = session.execute(select(ResultatsRegion)
|
||||
.filter_by(region_id=dpt.region_code)) \
|
||||
.scalar_one_or_none()
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=dpt.region_code)).scalar_one_or_none()
|
||||
if not resultats_reg:
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one_or_none()
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)) \
|
||||
.scalar_one_or_none()
|
||||
if not resultats_france:
|
||||
session.add(ResultatsFrance())
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one()
|
||||
session.add(ResultatsFranceEuropeennes2024())
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)) \
|
||||
.scalar_one()
|
||||
|
||||
resultats_reg = ResultatsRegion(region_id=str(dpt.region_code),
|
||||
resultats_france_id=resultats_france.id)
|
||||
resultats_reg = ResultatsRegionEuropeennes2024(region_id=str(dpt.region_code),
|
||||
resultats_france_id=resultats_france.id)
|
||||
session.add(resultats_reg)
|
||||
resultats_reg = session.execute(select(ResultatsRegion)
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=dpt.region_code)).scalar_one()
|
||||
|
||||
resultats_dpt = ResultatsDepartement(dpt_id=row['Code département'],
|
||||
resultats_region_id=resultats_reg.id)
|
||||
resultats_dpt = ResultatsDepartementEuropeennes2024(dpt_id=row['Code département'],
|
||||
resultats_region_id=resultats_reg.id)
|
||||
session.add(resultats_dpt)
|
||||
resultats_dpt = session.execute(select(ResultatsDepartement)
|
||||
resultats_dpt = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=row['Code département'])).scalar_one()
|
||||
|
||||
resultats_commune = ResultatsCommune(commune_id=com_code, resultats_dpt_id=resultats_dpt.id)
|
||||
resultats_commune = ResultatsCommuneEuropeennes2024(commune_id=com_code,
|
||||
resultats_dpt_id=resultats_dpt.id)
|
||||
session.add(resultats_commune)
|
||||
resultats_commune = session.execute(select(ResultatsCommune).filter_by(commune_id=com_code)) \
|
||||
.scalar_one()
|
||||
resultats_commune = session.execute(select(ResultatsCommuneEuropeennes2024)
|
||||
.filter_by(commune_id=com_code)).scalar_one()
|
||||
|
||||
resultats_bv = ResultatsBureauVote(bv_id=bv_id, resultats_commune_id=resultats_commune.id)
|
||||
resultats_bv = ResultatsBureauVoteEuropeennes2024(bv_id=bv_id,
|
||||
resultats_commune_id=resultats_commune.id)
|
||||
session.add(resultats_bv)
|
||||
resultats_bv = session.execute(select(ResultatsBureauVote).filter_by(bv_id=bv_id)).scalar_one()
|
||||
resultats_bv = session.execute(select(ResultatsBureauVoteEuropeennes2024)
|
||||
.filter_by(bv_id=bv_id)).scalar_one()
|
||||
|
||||
resultats_bv.inscrits = int(row['Inscrits'])
|
||||
resultats_bv.votants = int(row['Votants'])
|
||||
|
@ -89,13 +91,14 @@ def importer_resultats_bv(engine: Engine, verbose: bool = False) -> None:
|
|||
resultats_bv.blancs = int(row['Blancs'])
|
||||
resultats_bv.nuls = int(row['Nuls'])
|
||||
|
||||
for liste in session.execute(select(Liste)).scalars().all():
|
||||
voix_liste_bv = session.execute(select(VoixListeBureauVote)
|
||||
for liste in session.execute(select(ListeEuropeennes2024)).scalars().all():
|
||||
voix_liste_bv = session.execute(select(VoixListeBureauVoteEuropeennes2024)
|
||||
.filter_by(resultats_bureau_vote_id=resultats_bv.id,
|
||||
liste_id=liste.id)) \
|
||||
.scalar_one_or_none()
|
||||
if not voix_liste_bv:
|
||||
voix_liste_bv = VoixListeBureauVote(resultats_bureau_vote_id=resultats_bv.id, liste_id=liste.id)
|
||||
voix_liste_bv = VoixListeBureauVoteEuropeennes2024(resultats_bureau_vote_id=resultats_bv.id,
|
||||
liste_id=liste.id)
|
||||
session.add(voix_liste_bv)
|
||||
|
||||
voix_liste_bv.voix = int(row[f"Voix {liste.id}"])
|
||||
|
@ -127,41 +130,40 @@ def importer_resultats_commune(engine: Engine, verbose: bool = False) -> None:
|
|||
# 3 royaumes à Wallis-et-Futuna, mais un seul résultat de commune
|
||||
com_code = "98611"
|
||||
|
||||
resultats_commune = session.execute(select(ResultatsCommune).filter_by(commune_id=com_code)) \
|
||||
.scalar_one_or_none()
|
||||
resultats_commune = session.execute(select(ResultatsCommuneEuropeennes2024)
|
||||
.filter_by(commune_id=com_code)).scalar_one_or_none()
|
||||
if not resultats_commune:
|
||||
resultats_dpt = session.execute(select(ResultatsDepartement)
|
||||
.filter_by(dpt_id=dpt_code)) \
|
||||
.scalar_one_or_none()
|
||||
resultats_dpt = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=dpt_code)).scalar_one_or_none()
|
||||
if not resultats_dpt:
|
||||
dpt = session.execute(select(Departement)
|
||||
.filter_by(code_insee=f"{dpt_code.zfill(2)}")) \
|
||||
.scalar_one()
|
||||
resultats_reg = session.execute(select(ResultatsRegion)
|
||||
.filter_by(region_id=dpt.region_code)) \
|
||||
.scalar_one_or_none()
|
||||
.filter_by(code_insee=f"{dpt_code.zfill(2)}")).scalar_one()
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=dpt.region_code)).scalar_one_or_none()
|
||||
if not resultats_reg:
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one_or_none()
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)) \
|
||||
.scalar_one_or_none()
|
||||
if not resultats_france:
|
||||
session.add(ResultatsFrance())
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one()
|
||||
session.add(ResultatsFranceEuropeennes2024())
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one()
|
||||
|
||||
resultats_reg = ResultatsRegion(region_id=str(dpt.region_code),
|
||||
resultats_france_id=resultats_france.id)
|
||||
resultats_reg = ResultatsRegionEuropeennes2024(region_id=str(dpt.region_code),
|
||||
resultats_france_id=resultats_france.id)
|
||||
session.add(resultats_reg)
|
||||
resultats_reg = session.execute(select(ResultatsRegion)
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=dpt.region_code)).scalar_one()
|
||||
|
||||
resultats_dpt = ResultatsDepartement(dpt_id=dpt_code,
|
||||
resultats_region_id=resultats_reg.id)
|
||||
resultats_dpt = ResultatsDepartementEuropeennes2024(dpt_id=dpt_code,
|
||||
resultats_region_id=resultats_reg.id)
|
||||
session.add(resultats_dpt)
|
||||
resultats_dpt = session.execute(select(ResultatsDepartement)
|
||||
resultats_dpt = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=dpt_code)).scalar_one()
|
||||
|
||||
resultats_commune = ResultatsCommune(commune_id=com_code, resultats_dpt_id=resultats_dpt.id)
|
||||
resultats_commune = ResultatsCommuneEuropeennes2024(commune_id=com_code,
|
||||
resultats_dpt_id=resultats_dpt.id)
|
||||
session.add(resultats_commune)
|
||||
resultats_commune = session.execute(select(ResultatsCommune).filter_by(commune_id=com_code)) \
|
||||
.scalar_one()
|
||||
resultats_commune = session.execute(select(ResultatsCommuneEuropeennes2024)
|
||||
.filter_by(commune_id=com_code)).scalar_one()
|
||||
|
||||
resultats_commune.inscrits = int(row['Inscrits'])
|
||||
resultats_commune.votants = int(row['Votants'])
|
||||
|
@ -170,13 +172,14 @@ def importer_resultats_commune(engine: Engine, verbose: bool = False) -> None:
|
|||
resultats_commune.blancs = int(row['Blancs'])
|
||||
resultats_commune.nuls = int(row['Nuls'])
|
||||
|
||||
for liste in session.execute(select(Liste)).scalars().all():
|
||||
voix_liste_com = session.execute(select(VoixListeCommune)
|
||||
for liste in session.execute(select(ListeEuropeennes2024)).scalars().all():
|
||||
voix_liste_com = session.execute(select(VoixListeCommuneEuropeennes2024)
|
||||
.filter_by(resultats_commune_id=resultats_commune.id,
|
||||
liste_id=liste.id)) \
|
||||
.scalar_one_or_none()
|
||||
if not voix_liste_com:
|
||||
voix_liste_com = VoixListeCommune(resultats_commune_id=resultats_commune.id, liste_id=liste.id)
|
||||
voix_liste_com = VoixListeCommuneEuropeennes2024(resultats_commune_id=resultats_commune.id,
|
||||
liste_id=liste.id)
|
||||
session.add(voix_liste_com)
|
||||
|
||||
voix_liste_com.voix = int(row[f"Voix {liste.id}"])
|
||||
|
@ -200,40 +203,41 @@ def importer_resultats_circo(engine: Engine, verbose: bool = False) -> None:
|
|||
|
||||
circo_id = f"{dpt_code.zfill(2)}-{circo_code.zfill(2)}"
|
||||
|
||||
resultats_circo = session.execute(select(ResultatsCirconscription).filter_by(circo_id=circo_id)) \
|
||||
.scalar_one_or_none()
|
||||
resultats_circo = session.execute(select(ResultatsCirconscriptionEuropeennes2024)
|
||||
.filter_by(circo_id=circo_id)).scalar_one_or_none()
|
||||
if not resultats_circo:
|
||||
resultats_dpt = session.execute(select(ResultatsDepartement).filter_by(dpt_id=dpt_code)) \
|
||||
.scalar_one_or_none()
|
||||
resultats_dpt = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=dpt_code)).scalar_one_or_none()
|
||||
if not resultats_dpt:
|
||||
dpt = session.execute(select(Departement).filter_by(code_insee=f"{dpt_code.zfill(2)}")) \
|
||||
.scalar_one()
|
||||
resultats_reg = session.execute(select(ResultatsRegion)
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=dpt.region_code)) \
|
||||
.scalar_one_or_none()
|
||||
if not resultats_reg:
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one_or_none()
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)) \
|
||||
.scalar_one_or_none()
|
||||
if not resultats_france:
|
||||
session.add(ResultatsFrance())
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one()
|
||||
session.add(ResultatsFranceEuropeennes2024())
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one()
|
||||
|
||||
resultats_reg = ResultatsRegion(region_id=str(dpt.region_code),
|
||||
resultats_france_id=resultats_france.id)
|
||||
resultats_reg = ResultatsRegionEuropeennes2024(region_id=str(dpt.region_code),
|
||||
resultats_france_id=resultats_france.id)
|
||||
session.add(resultats_reg)
|
||||
resultats_reg = session.execute(select(ResultatsRegion)
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=dpt.region_code)).scalar_one()
|
||||
|
||||
resultats_dpt = ResultatsDepartement(dpt_id=dpt_code,
|
||||
resultats_region_id=resultats_reg.id)
|
||||
resultats_dpt = ResultatsDepartementEuropeennes2024(dpt_id=dpt_code,
|
||||
resultats_region_id=resultats_reg.id)
|
||||
session.add(resultats_dpt)
|
||||
resultats_dpt = session.execute(select(ResultatsDepartement)
|
||||
resultats_dpt = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=dpt_code)).scalar_one()
|
||||
|
||||
resultats_circo = ResultatsCirconscription(circo_id=circo_id,
|
||||
resultats_departement_id=resultats_dpt.id)
|
||||
resultats_circo = ResultatsCirconscriptionEuropeennes2024(circo_id=circo_id,
|
||||
resultats_departement_id=resultats_dpt.id)
|
||||
session.add(resultats_circo)
|
||||
resultats_circo = session.execute(select(ResultatsCirconscription).filter_by(circo_id=circo_id)) \
|
||||
.scalar_one()
|
||||
resultats_circo = session.execute(select(ResultatsCirconscriptionEuropeennes2024)
|
||||
.filter_by(circo_id=circo_id)).scalar_one()
|
||||
|
||||
resultats_circo.inscrits = int(row['Inscrits'])
|
||||
resultats_circo.votants = int(row['Votants'])
|
||||
|
@ -242,14 +246,13 @@ def importer_resultats_circo(engine: Engine, verbose: bool = False) -> None:
|
|||
resultats_circo.blancs = int(row['Blancs'])
|
||||
resultats_circo.nuls = int(row['Nuls'])
|
||||
|
||||
for liste in session.execute(select(Liste)).scalars().all():
|
||||
voix_liste_circo = session.execute(select(VoixListeCirconscription)
|
||||
for liste in session.execute(select(ListeEuropeennes2024)).scalars().all():
|
||||
voix_liste_circo = session.execute(select(VoixListeCirconscriptionEuropeennes2024)
|
||||
.filter_by(resultats_circonscription_id=resultats_circo.id,
|
||||
liste_id=liste.id)) \
|
||||
.scalar_one_or_none()
|
||||
liste_id=liste.id)).scalar_one_or_none()
|
||||
if not voix_liste_circo:
|
||||
voix_liste_circo = VoixListeCirconscription(resultats_circonscription_id=resultats_circo.id,
|
||||
liste_id=liste.id)
|
||||
voix_liste_circo = VoixListeCirconscriptionEuropeennes2024(
|
||||
resultats_circonscription_id=resultats_circo.id, liste_id=liste.id)
|
||||
session.add(voix_liste_circo)
|
||||
|
||||
voix_liste_circo.voix = int(row[f"Voix {liste.id}"])
|
||||
|
@ -270,33 +273,32 @@ def importer_resultats_departement(engine: Engine, verbose: bool = False) -> Non
|
|||
if dpt_code == "ZX":
|
||||
dpt_code = "977"
|
||||
|
||||
resultats_dpt = session.execute(select(ResultatsDepartement).filter_by(dpt_id=dpt_code)) \
|
||||
.scalar_one_or_none()
|
||||
resultats_dpt = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=dpt_code)).scalar_one_or_none()
|
||||
if not resultats_dpt:
|
||||
print(f"Département {dpt_code} non trouvé")
|
||||
dpt = session.execute(select(Departement)
|
||||
.filter_by(code_insee=f"{dpt_code.zfill(2)}")) \
|
||||
.scalar_one()
|
||||
resultats_reg = session.execute(select(ResultatsRegion)
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=dpt.region_code)) \
|
||||
.scalar_one_or_none()
|
||||
if not resultats_reg:
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one_or_none()
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one_or_none()
|
||||
if not resultats_france:
|
||||
session.add(ResultatsFrance())
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one()
|
||||
session.add(ResultatsFranceEuropeennes2024())
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one()
|
||||
|
||||
resultats_reg = ResultatsRegion(region_id=str(dpt.region_code),
|
||||
resultats_france_id=resultats_france.id)
|
||||
resultats_reg = ResultatsRegionEuropeennes2024(region_id=str(dpt.region_code),
|
||||
resultats_france_id=resultats_france.id)
|
||||
session.add(resultats_reg)
|
||||
resultats_reg = session.execute(select(ResultatsRegion)
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=dpt.region_code)).scalar_one()
|
||||
|
||||
resultats_dpt = ResultatsDepartement(dpt_id=dpt_code,
|
||||
resultats_region_id=resultats_reg.id)
|
||||
resultats_dpt = ResultatsDepartementEuropeennes2024(dpt_id=dpt_code,
|
||||
resultats_region_id=resultats_reg.id)
|
||||
session.add(resultats_dpt)
|
||||
resultats_dpt = session.execute(select(ResultatsDepartement).filter_by(dpt_id=dpt_code)) \
|
||||
.scalar_one()
|
||||
resultats_dpt = session.execute(select(ResultatsDepartementEuropeennes2024)
|
||||
.filter_by(dpt_id=dpt_code)).scalar_one()
|
||||
|
||||
resultats_dpt.inscrits = int(row['Inscrits'])
|
||||
resultats_dpt.votants = int(row['Votants'])
|
||||
|
@ -305,14 +307,14 @@ def importer_resultats_departement(engine: Engine, verbose: bool = False) -> Non
|
|||
resultats_dpt.blancs = int(row['Blancs'])
|
||||
resultats_dpt.nuls = int(row['Nuls'])
|
||||
|
||||
for liste in session.execute(select(Liste)).scalars().all():
|
||||
voix_liste_dpt = session.execute(select(VoixListeDepartement)
|
||||
for liste in session.execute(select(ListeEuropeennes2024)).scalars().all():
|
||||
voix_liste_dpt = session.execute(select(VoixListeDepartementEuropeennes2024)
|
||||
.filter_by(resultats_departement_id=resultats_dpt.id,
|
||||
liste_id=liste.id)) \
|
||||
.scalar_one_or_none()
|
||||
if not voix_liste_dpt:
|
||||
voix_liste_dpt = VoixListeDepartement(resultats_departement_id=resultats_dpt.id,
|
||||
liste_id=liste.id)
|
||||
voix_liste_dpt = VoixListeDepartementEuropeennes2024(resultats_departement_id=resultats_dpt.id,
|
||||
liste_id=liste.id)
|
||||
session.add(voix_liste_dpt)
|
||||
|
||||
voix_liste_dpt.voix = int(row[f"Voix {liste.id}"])
|
||||
|
@ -330,20 +332,20 @@ def importer_resultats_region(engine: Engine, verbose: bool = False) -> None:
|
|||
for row in tqdm(reader, desc="Région", disable=not verbose):
|
||||
reg_code = row['Code région']
|
||||
|
||||
resultats_reg = session.execute(select(ResultatsRegion).filter_by(region_id=reg_code)) \
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024).filter_by(region_id=reg_code)) \
|
||||
.scalar_one_or_none()
|
||||
if not resultats_reg:
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one_or_none()
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one_or_none()
|
||||
if not resultats_france:
|
||||
session.add(ResultatsFrance())
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one()
|
||||
session.add(ResultatsFranceEuropeennes2024())
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one()
|
||||
|
||||
resultats_reg = ResultatsRegion(region_id=reg_code,
|
||||
resultats_france_id=resultats_france.id)
|
||||
resultats_reg = ResultatsRegionEuropeennes2024(region_id=reg_code,
|
||||
resultats_france_id=resultats_france.id)
|
||||
session.add(resultats_reg)
|
||||
session.commit()
|
||||
resultats_reg = session.execute(select(ResultatsRegion).filter_by(region_id=reg_code)) \
|
||||
.scalar_one()
|
||||
resultats_reg = session.execute(select(ResultatsRegionEuropeennes2024)
|
||||
.filter_by(region_id=reg_code)).scalar_one()
|
||||
|
||||
resultats_reg.inscrits = int(row['Inscrits'])
|
||||
resultats_reg.votants = int(row['Votants'])
|
||||
|
@ -352,13 +354,14 @@ def importer_resultats_region(engine: Engine, verbose: bool = False) -> None:
|
|||
resultats_reg.blancs = int(row['Blancs'])
|
||||
resultats_reg.nuls = int(row['Nuls'])
|
||||
|
||||
for liste in session.execute(select(Liste)).scalars().all():
|
||||
voix_liste_reg = session.execute(select(VoixListeRegion)
|
||||
for liste in session.execute(select(ListeEuropeennes2024)).scalars().all():
|
||||
voix_liste_reg = session.execute(select(VoixListeRegionEuropeennes2024)
|
||||
.filter_by(resultats_region_id=resultats_reg.id,
|
||||
liste_id=liste.id)) \
|
||||
.scalar_one_or_none()
|
||||
if not voix_liste_reg:
|
||||
voix_liste_reg = VoixListeRegion(resultats_region_id=resultats_reg.id, liste_id=liste.id)
|
||||
voix_liste_reg = VoixListeRegionEuropeennes2024(resultats_region_id=resultats_reg.id,
|
||||
liste_id=liste.id)
|
||||
session.add(voix_liste_reg)
|
||||
|
||||
voix_liste_reg.voix = int(row[f"Voix {liste.id}"])
|
||||
|
@ -368,7 +371,7 @@ def importer_resultats_region(engine: Engine, verbose: bool = False) -> None:
|
|||
|
||||
def calculer_resultats_france(engine: Engine, verbose: bool = False) -> None:
|
||||
with Session(engine) as session:
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one()
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one()
|
||||
|
||||
resultats_france.inscrits = 0
|
||||
resultats_france.votants = 0
|
||||
|
@ -378,10 +381,11 @@ def calculer_resultats_france(engine: Engine, verbose: bool = False) -> None:
|
|||
resultats_france.nuls = 0
|
||||
|
||||
for voix_liste_france in session.execute(
|
||||
select(VoixListeFrance).filter_by(resultats_france_id=resultats_france.id)).scalars().all():
|
||||
select(VoixListeFranceEuropeennes2024)
|
||||
.filter_by(resultats_france_id=resultats_france.id)).scalars().all():
|
||||
voix_liste_france.voix = 0 # Réinitialisation des voix
|
||||
|
||||
for resultats_dpt in session.execute(select(ResultatsDepartement)).scalars().all():
|
||||
for resultats_dpt in session.execute(select(ResultatsDepartementEuropeennes2024)).scalars().all():
|
||||
resultats_france.inscrits += resultats_dpt.inscrits
|
||||
resultats_france.votants += resultats_dpt.votants
|
||||
resultats_france.abstentions += resultats_dpt.abstentions
|
||||
|
@ -389,16 +393,18 @@ def calculer_resultats_france(engine: Engine, verbose: bool = False) -> None:
|
|||
resultats_france.blancs += resultats_dpt.blancs
|
||||
resultats_france.nuls += resultats_dpt.nuls
|
||||
|
||||
for voix_liste_dpt in session.execute(select(VoixListeDepartement)
|
||||
for voix_liste_dpt in session.execute(select(VoixListeDepartementEuropeennes2024)
|
||||
.filter_by(resultats_departement_id=resultats_dpt.id)) \
|
||||
.scalars().all():
|
||||
if voix_liste_france := session.execute(
|
||||
select(VoixListeFrance).filter_by(resultats_france_id=resultats_france.id,
|
||||
liste_id=voix_liste_dpt.liste_id)).scalar_one_or_none():
|
||||
select(VoixListeFranceEuropeennes2024)
|
||||
.filter_by(resultats_france_id=resultats_france.id,
|
||||
liste_id=voix_liste_dpt.liste_id)).scalar_one_or_none():
|
||||
voix_liste_france.voix += voix_liste_dpt.voix
|
||||
else:
|
||||
session.add(VoixListeFrance(resultats_france_id=resultats_france.id,
|
||||
liste_id=voix_liste_dpt.liste_id, voix=voix_liste_dpt.voix))
|
||||
session.add(VoixListeFranceEuropeennes2024(resultats_france_id=resultats_france.id,
|
||||
liste_id=voix_liste_dpt.liste_id,
|
||||
voix=voix_liste_dpt.voix))
|
||||
|
||||
session.commit()
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ from sqlalchemy.orm import Session
|
|||
from tqdm import tqdm
|
||||
|
||||
from nupes.cache import get_file
|
||||
from nupes.models.europeennes2024 import ResultatsFrance, ResultatsRegion, ResultatsDepartement, ResultatsCommune, \
|
||||
VoixListeFrance, VoixListeRegion, VoixListeDepartement, VoixListeCommune, Liste
|
||||
from nupes.models.europeennes2024 import ResultatsFranceEuropeennes2024, ResultatsRegionEuropeennes2024, ResultatsDepartementEuropeennes2024, ResultatsCommuneEuropeennes2024, \
|
||||
VoixListeFranceEuropeennes2024, VoixListeRegionEuropeennes2024, VoixListeDepartementEuropeennes2024, VoixListeCommuneEuropeennes2024, ListeEuropeennes2024
|
||||
from nupes.models.geographie import Region, Departement, Commune
|
||||
|
||||
BASE_URL = "https://www.resultats-elections.interieur.gouv.fr/europeennes2024/ensemble_geographique"
|
||||
|
@ -23,7 +23,7 @@ def importer_resultats_france(engine: Engine, verbose: bool = False) -> None:
|
|||
return
|
||||
|
||||
with Session(engine) as session:
|
||||
if resultats_france := session.execute(select(ResultatsFrance)).scalar_one_or_none():
|
||||
if resultats_france := session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one_or_none():
|
||||
resultats_france.inscrits = resultats["inscrits"]
|
||||
resultats_france.abstentions = resultats["abstentions"]
|
||||
resultats_france.votants = resultats["votants"]
|
||||
|
@ -31,7 +31,7 @@ def importer_resultats_france(engine: Engine, verbose: bool = False) -> None:
|
|||
resultats_france.nuls = resultats["nuls"]
|
||||
resultats_france.exprimes = resultats["exprimes"]
|
||||
else:
|
||||
resultats_france = ResultatsFrance(
|
||||
resultats_france = ResultatsFranceEuropeennes2024(
|
||||
inscrits=resultats["inscrits"],
|
||||
abstentions=resultats["abstentions"],
|
||||
votants=resultats["votants"],
|
||||
|
@ -43,13 +43,13 @@ def importer_resultats_france(engine: Engine, verbose: bool = False) -> None:
|
|||
|
||||
for voix_liste in resultats["resultats_par_liste"]:
|
||||
if voix_liste_france := session.execute(
|
||||
select(VoixListeFrance).join(Liste).filter_by(nom_majuscules=voix_liste["nom"].upper())
|
||||
select(VoixListeFranceEuropeennes2024).join(ListeEuropeennes2024).filter_by(nom_majuscules=voix_liste["nom"].upper())
|
||||
).scalar_one_or_none():
|
||||
voix_liste_france.voix = voix_liste["voix"]
|
||||
else:
|
||||
liste = session.execute(select(Liste).filter_by(nom_majuscules=voix_liste["nom"].upper())).scalar_one()
|
||||
voix_liste_france = VoixListeFrance(liste_id=liste.id, resultats_france_id=resultats_france.id,
|
||||
voix=voix_liste["voix"])
|
||||
liste = session.execute(select(ListeEuropeennes2024).filter_by(nom_majuscules=voix_liste["nom"].upper())).scalar_one()
|
||||
voix_liste_france = VoixListeFranceEuropeennes2024(liste_id=liste.id, resultats_france_id=resultats_france.id,
|
||||
voix=voix_liste["voix"])
|
||||
session.add(voix_liste_france)
|
||||
|
||||
session.commit()
|
||||
|
@ -76,7 +76,7 @@ def importer_resultats_regions(engine: Engine, verbose: bool = False) -> None:
|
|||
if not resultats:
|
||||
continue
|
||||
|
||||
if resultats_region := session.execute(select(ResultatsRegion).filter_by(region_id=reg_code)) \
|
||||
if resultats_region := session.execute(select(ResultatsRegionEuropeennes2024).filter_by(region_id=reg_code)) \
|
||||
.scalar_one_or_none():
|
||||
resultats_region.inscrits = resultats["inscrits"]
|
||||
resultats_region.abstentions = resultats["abstentions"]
|
||||
|
@ -85,8 +85,8 @@ def importer_resultats_regions(engine: Engine, verbose: bool = False) -> None:
|
|||
resultats_region.nuls = resultats["nuls"]
|
||||
resultats_region.exprimes = resultats["exprimes"]
|
||||
else:
|
||||
resultats_france = session.execute(select(ResultatsFrance)).scalar_one()
|
||||
resultats_region = ResultatsRegion(
|
||||
resultats_france = session.execute(select(ResultatsFranceEuropeennes2024)).scalar_one()
|
||||
resultats_region = ResultatsRegionEuropeennes2024(
|
||||
region_id=reg_code,
|
||||
resultats_france_id=resultats_france.id,
|
||||
inscrits=resultats["inscrits"],
|
||||
|
@ -100,14 +100,14 @@ def importer_resultats_regions(engine: Engine, verbose: bool = False) -> None:
|
|||
|
||||
for voix_liste in resultats["resultats_par_liste"]:
|
||||
if voix_liste_region := session.execute(
|
||||
select(VoixListeRegion).join(Liste).filter_by(nom_majuscules=voix_liste["nom"].upper())
|
||||
select(VoixListeRegionEuropeennes2024).join(ListeEuropeennes2024).filter_by(nom_majuscules=voix_liste["nom"].upper())
|
||||
).scalar_one_or_none():
|
||||
voix_liste_region.voix = voix_liste["voix"]
|
||||
else:
|
||||
liste = session.execute(select(Liste).filter_by(nom_majuscules=voix_liste["nom"].upper())) \
|
||||
liste = session.execute(select(ListeEuropeennes2024).filter_by(nom_majuscules=voix_liste["nom"].upper())) \
|
||||
.scalar_one()
|
||||
voix_liste_region = VoixListeRegion(liste_id=liste.id, resultats_region_id=resultats_region.id,
|
||||
voix=voix_liste["voix"])
|
||||
voix_liste_region = VoixListeRegionEuropeennes2024(liste_id=liste.id, resultats_region_id=resultats_region.id,
|
||||
voix=voix_liste["voix"])
|
||||
session.add(voix_liste_region)
|
||||
|
||||
session.commit()
|
||||
|
@ -143,7 +143,7 @@ def importer_resultats_departements(engine: Engine, verbose: bool = False) -> No
|
|||
continue
|
||||
|
||||
if resultats_departement := session.execute(
|
||||
select(ResultatsDepartement).filter_by(dpt_id=dpt.code_insee)).scalar_one_or_none():
|
||||
select(ResultatsDepartementEuropeennes2024).filter_by(dpt_id=dpt.code_insee)).scalar_one_or_none():
|
||||
resultats_departement.inscrits = resultats["inscrits"]
|
||||
resultats_departement.abstentions = resultats["abstentions"]
|
||||
resultats_departement.votants = resultats["votants"]
|
||||
|
@ -151,10 +151,10 @@ def importer_resultats_departements(engine: Engine, verbose: bool = False) -> No
|
|||
resultats_departement.nuls = resultats["nuls"]
|
||||
resultats_departement.exprimes = resultats["exprimes"]
|
||||
else:
|
||||
resultats_region = session.execute(select(ResultatsRegion).filter_by(region_id=dpt.region_code)) \
|
||||
resultats_region = session.execute(select(ResultatsRegionEuropeennes2024).filter_by(region_id=dpt.region_code)) \
|
||||
.scalar_one_or_none()
|
||||
|
||||
resultats_departement = ResultatsDepartement(
|
||||
resultats_departement = ResultatsDepartementEuropeennes2024(
|
||||
dpt_id=dpt.code_insee,
|
||||
resultats_region_id=resultats_region.id if resultats_region else None,
|
||||
inscrits=resultats["inscrits"],
|
||||
|
@ -168,15 +168,15 @@ def importer_resultats_departements(engine: Engine, verbose: bool = False) -> No
|
|||
|
||||
for voix_liste in resultats["resultats_par_liste"]:
|
||||
if voix_liste_departement := session.execute(
|
||||
select(VoixListeDepartement).join(Liste).filter_by(nom_majuscules=voix_liste["nom"].upper())
|
||||
select(VoixListeDepartementEuropeennes2024).join(ListeEuropeennes2024).filter_by(nom_majuscules=voix_liste["nom"].upper())
|
||||
).scalar_one_or_none():
|
||||
voix_liste_departement.voix = voix_liste["voix"]
|
||||
else:
|
||||
liste = session.execute(select(Liste).filter_by(nom_majuscules=voix_liste["nom"].upper())) \
|
||||
liste = session.execute(select(ListeEuropeennes2024).filter_by(nom_majuscules=voix_liste["nom"].upper())) \
|
||||
.scalar_one()
|
||||
voix_liste_departement = VoixListeDepartement(liste_id=liste.id,
|
||||
resultats_departement_id=resultats_departement.id,
|
||||
voix=voix_liste["voix"])
|
||||
voix_liste_departement = VoixListeDepartementEuropeennes2024(liste_id=liste.id,
|
||||
resultats_departement_id=resultats_departement.id,
|
||||
voix=voix_liste["voix"])
|
||||
session.add(voix_liste_departement)
|
||||
|
||||
session.commit()
|
||||
|
@ -223,7 +223,7 @@ def importer_resultats_communes(engine: Engine, verbose: bool = False) -> None:
|
|||
continue
|
||||
|
||||
if resultats_commune := session.execute(
|
||||
select(ResultatsCommune).filter_by(commune_id=com_code)).scalar_one_or_none():
|
||||
select(ResultatsCommuneEuropeennes2024).filter_by(commune_id=com_code)).scalar_one_or_none():
|
||||
resultats_commune.inscrits = resultats["inscrits"]
|
||||
resultats_commune.abstentions = resultats["abstentions"]
|
||||
resultats_commune.votants = resultats["votants"]
|
||||
|
@ -231,9 +231,9 @@ def importer_resultats_communes(engine: Engine, verbose: bool = False) -> None:
|
|||
resultats_commune.nuls = resultats["nuls"]
|
||||
resultats_commune.exprimes = resultats["exprimes"]
|
||||
else:
|
||||
resultats_departement = session.execute(select(ResultatsDepartement).filter_by(dpt_id=dpt_code)) \
|
||||
resultats_departement = session.execute(select(ResultatsDepartementEuropeennes2024).filter_by(dpt_id=dpt_code)) \
|
||||
.scalar_one_or_none()
|
||||
resultats_commune = ResultatsCommune(
|
||||
resultats_commune = ResultatsCommuneEuropeennes2024(
|
||||
commune_id=com_code,
|
||||
resultats_dpt_id=resultats_departement.id if resultats_departement else None,
|
||||
inscrits=resultats["inscrits"],
|
||||
|
@ -247,14 +247,14 @@ def importer_resultats_communes(engine: Engine, verbose: bool = False) -> None:
|
|||
|
||||
for voix_liste in resultats["resultats_par_liste"]:
|
||||
if voix_liste_commune := session.execute(
|
||||
select(VoixListeCommune).join(Liste).filter_by(nom_majuscules=voix_liste["nom"].upper())
|
||||
select(VoixListeCommuneEuropeennes2024).join(ListeEuropeennes2024).filter_by(nom_majuscules=voix_liste["nom"].upper())
|
||||
).scalar_one_or_none():
|
||||
voix_liste_commune.voix = voix_liste["voix"]
|
||||
else:
|
||||
liste = session.execute(select(Liste).filter_by(nom_majuscules=voix_liste["nom"].upper())) \
|
||||
liste = session.execute(select(ListeEuropeennes2024).filter_by(nom_majuscules=voix_liste["nom"].upper())) \
|
||||
.scalar_one()
|
||||
voix_liste_commune = VoixListeCommune(liste_id=liste.id, resultats_commune_id=resultats_commune.id,
|
||||
voix=voix_liste["voix"])
|
||||
voix_liste_commune = VoixListeCommuneEuropeennes2024(liste_id=liste.id, resultats_commune_id=resultats_commune.id,
|
||||
voix=voix_liste["voix"])
|
||||
session.add(voix_liste_commune)
|
||||
|
||||
session.commit()
|
||||
|
|
Loading…
Reference in New Issue