diff --git a/alembic/versions/42ff9c981be7_ajout_des_modèles_de_résultats_pour_les_.py b/alembic/versions/a2c743418d84_initial.py similarity index 97% rename from alembic/versions/42ff9c981be7_ajout_des_modèles_de_résultats_pour_les_.py rename to alembic/versions/a2c743418d84_initial.py index 01917a9..0c4ce8b 100644 --- a/alembic/versions/42ff9c981be7_ajout_des_modèles_de_résultats_pour_les_.py +++ b/alembic/versions/a2c743418d84_initial.py @@ -1,8 +1,8 @@ -"""Ajout des modèles de résultats pour les européennes 2024 + géométrie administrative +"""initial -Revision ID: 42ff9c981be7 +Revision ID: a2c743418d84 Revises: -Create Date: 2024-06-08 17:40:27.348858 +Create Date: 2024-06-09 23:51:19.572272 """ from typing import Sequence, Union @@ -12,7 +12,7 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. -revision: str = '42ff9c981be7' +revision: str = 'a2c743418d84' down_revision: Union[str, None] = None branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None @@ -63,7 +63,7 @@ def upgrade() -> None: op.create_table('liste2024', 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=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), @@ -120,7 +120,7 @@ def upgrade() -> None: op.create_table('resultats2024_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=False), + sa.Column('resultats_region_id', sa.Integer(), nullable=True), sa.Column('inscrits', sa.Integer(), nullable=False), sa.Column('votants', sa.Integer(), nullable=False), sa.Column('abstentions', sa.Integer(), nullable=False), diff --git a/nupes-elections-front/src/Elections2024.js b/nupes-elections-front/src/Elections2024.js index 4072d48..31d439b 100644 --- a/nupes-elections-front/src/Elections2024.js +++ b/nupes-elections-front/src/Elections2024.js @@ -47,8 +47,8 @@ function ResultatsTable({blocs, nuances, listes, resultats, siegesParListe}) { bloc.nom === liste.bloc)[0].couleur} sx={{padding: "0.2em"}}> {liste.bloc} {voix_listes[liste.numero] || 0} - {(100 * (voix_listes[liste.numero] || 0) / resultats.exprimes).toFixed(2)} % {(100 * (voix_listes[liste.numero] || 0) / resultats.inscrits).toFixed(2)} % + {(100 * (voix_listes[liste.numero] || 0) / resultats.exprimes).toFixed(2)} % {siegesParListe[liste.numero]} ))} diff --git a/nupes/models/europeennes2024.py b/nupes/models/europeennes2024.py index bfb390a..9369106 100644 --- a/nupes/models/europeennes2024.py +++ b/nupes/models/europeennes2024.py @@ -123,7 +123,7 @@ class ResultatsDepartement(Base): 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")) + resultats_region_id: Mapped[int] = mapped_column(ForeignKey("resultats2024_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) diff --git a/nupes/scripts/import_resultats_web_2024.py b/nupes/scripts/import_resultats_web_2024.py index fe3013b..57214bb 100644 --- a/nupes/scripts/import_resultats_web_2024.py +++ b/nupes/scripts/import_resultats_web_2024.py @@ -149,8 +149,12 @@ def importer_resultats_departements(engine: Engine, debug: bool = False) -> None resultats_departement.nuls = resultats["nuls"] resultats_departement.exprimes = resultats["exprimes"] else: + resultats_region = session.execute(select(ResultatsRegion).filter_by(region_id=reg_code)) \ + .scalar_one_or_none() + resultats_departement = ResultatsDepartement( dpt_id=dpt_code, + resultats_region_id=resultats_region.id if resultats_region else None, inscrits=resultats["inscrits"], abstentions=resultats["abstentions"], votants=resultats["votants"],