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"],