From cdbf068dab757c7a6140ef778c066189be30dfed Mon Sep 17 00:00:00 2001 From: Nicolas Oudard Date: Thu, 16 Jan 2025 16:28:54 +0100 Subject: [PATCH] =?UTF-8?q?d=C3=A9placement=20de=20fichiers=20et=20suppres?= =?UTF-8?q?sion=20de=20champs=20inutilis=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business_logic/db_write_suggestion.py | 13 +- dags/suggestions/dags/apply_suggestions.py | 8 +- .../tasks/airflow_logic/__init__.py | 4 + .../db_normalize_suggestion_task.py | 4 +- .../db_read_suggestiontoprocess_task.py | 2 +- .../db_write_validsuggestions_task.py | 2 +- .../launch_compute_carte_acteur_task.py | 0 .../business_logic/db_normalize_suggestion.py | 2 +- .../db_read_suggestiontoprocess.py | 0 .../db_write_validsuggestions.py | 0 data/migrations/0001_bancache.py | 55 +++++ ...1_initial.py => 0002_tables_suggestion.py} | 54 +---- data/models.py | 25 -- dev-requirements.txt | 217 +++++++++--------- .../_partials/source_supression_event.html | 4 +- 15 files changed, 190 insertions(+), 200 deletions(-) create mode 100644 dags/suggestions/tasks/airflow_logic/__init__.py rename dags/suggestions/{ => tasks}/airflow_logic/db_normalize_suggestion_task.py (78%) rename dags/suggestions/{ => tasks}/airflow_logic/db_read_suggestiontoprocess_task.py (81%) rename dags/suggestions/{ => tasks}/airflow_logic/db_write_validsuggestions_task.py (90%) rename dags/suggestions/{ => tasks}/airflow_logic/launch_compute_carte_acteur_task.py (100%) rename dags/suggestions/{ => tasks}/business_logic/db_normalize_suggestion.py (98%) rename dags/suggestions/{ => tasks}/business_logic/db_read_suggestiontoprocess.py (100%) rename dags/suggestions/{ => tasks}/business_logic/db_write_validsuggestions.py (100%) create mode 100644 data/migrations/0001_bancache.py rename data/migrations/{0001_initial.py => 0002_tables_suggestion.py} (77%) diff --git a/dags/sources/tasks/business_logic/db_write_suggestion.py b/dags/sources/tasks/business_logic/db_write_suggestion.py index 832869fa5..2e921599d 100644 --- a/dags/sources/tasks/business_logic/db_write_suggestion.py +++ b/dags/sources/tasks/business_logic/db_write_suggestion.py @@ -26,26 +26,26 @@ def db_write_suggestion( metadata=metadata, dag_name=f"{dag_name} - AJOUT", run_name=run_name, - action_type=constants.SUGGESTION_SOURCE_AJOUT, + type_action=constants.SUGGESTION_SOURCE_AJOUT, ) insert_suggestion( df=df_acteur_to_delete, metadata=metadata, dag_name=f"{dag_name} - SUPRESSION", run_name=run_name, - action_type=constants.SUGGESTION_SOURCE_SUPRESSION, + type_action=constants.SUGGESTION_SOURCE_SUPRESSION, ) insert_suggestion( df=df_acteur_to_update, metadata=metadata, dag_name=f"{dag_name} - MISES A JOUR", run_name=run_name, - action_type=constants.SUGGESTION_SOURCE_MISESAJOUR, + type_action=constants.SUGGESTION_SOURCE_MISESAJOUR, ) def insert_suggestion( - df: pd.DataFrame, metadata: dict, dag_name: str, run_name: str, action_type: str + df: pd.DataFrame, metadata: dict, dag_name: str, run_name: str, type_action: str ): if df.empty: return @@ -72,7 +72,7 @@ def insert_suggestion( ( dag_name, run_name, - action_type, + type_action, constants.SUGGESTION_AVALIDER, json.dumps(metadata), current_date, @@ -82,10 +82,9 @@ def insert_suggestion( suggestion_cohorte_id = result.fetchone()[0] # Insert dag_run_change - df["type_action"] = action_type df["suggestion_cohorte_id"] = suggestion_cohorte_id df["statut"] = constants.SUGGESTION_AVALIDER - df[["suggestion", "suggestion_cohorte_id", "type_action", "statut"]].to_sql( + df[["suggestion", "suggestion_cohorte_id", "statut"]].to_sql( "data_suggestionunitaire", engine, if_exists="append", diff --git a/dags/suggestions/dags/apply_suggestions.py b/dags/suggestions/dags/apply_suggestions.py index 39e14e97a..abbca01ae 100755 --- a/dags/suggestions/dags/apply_suggestions.py +++ b/dags/suggestions/dags/apply_suggestions.py @@ -2,16 +2,10 @@ from airflow.models import DAG from airflow.utils.dates import days_ago -from suggestions.airflow_logic.db_normalize_suggestion_task import ( +from suggestions.tasks.airflow_logic import ( db_normalize_suggestion_task, -) -from suggestions.airflow_logic.db_read_suggestiontoprocess_task import ( db_read_suggestiontoprocess_task, -) -from suggestions.airflow_logic.db_write_validsuggestions_task import ( db_write_validsuggestions_task, -) -from suggestions.airflow_logic.launch_compute_carte_acteur_task import ( launch_compute_carte_acteur_task, ) diff --git a/dags/suggestions/tasks/airflow_logic/__init__.py b/dags/suggestions/tasks/airflow_logic/__init__.py new file mode 100644 index 000000000..a9e6fc049 --- /dev/null +++ b/dags/suggestions/tasks/airflow_logic/__init__.py @@ -0,0 +1,4 @@ +from suggestions.tasks.airflow_logic.db_normalize_suggestion_task import * # noqa +from suggestions.tasks.airflow_logic.db_read_suggestiontoprocess_task import * # noqa +from suggestions.tasks.airflow_logic.db_write_validsuggestions_task import * # noqa +from suggestions.tasks.airflow_logic.launch_compute_carte_acteur_task import * # noqa diff --git a/dags/suggestions/airflow_logic/db_normalize_suggestion_task.py b/dags/suggestions/tasks/airflow_logic/db_normalize_suggestion_task.py similarity index 78% rename from dags/suggestions/airflow_logic/db_normalize_suggestion_task.py rename to dags/suggestions/tasks/airflow_logic/db_normalize_suggestion_task.py index 908776b16..decfee015 100644 --- a/dags/suggestions/airflow_logic/db_normalize_suggestion_task.py +++ b/dags/suggestions/tasks/airflow_logic/db_normalize_suggestion_task.py @@ -1,6 +1,8 @@ from airflow.models import DAG from airflow.operators.python import PythonOperator -from suggestions.business_logic.db_normalize_suggestion import db_normalize_suggestion +from suggestions.tasks.business_logic.db_normalize_suggestion import ( + db_normalize_suggestion, +) def db_normalize_suggestion_task(dag: DAG): diff --git a/dags/suggestions/airflow_logic/db_read_suggestiontoprocess_task.py b/dags/suggestions/tasks/airflow_logic/db_read_suggestiontoprocess_task.py similarity index 81% rename from dags/suggestions/airflow_logic/db_read_suggestiontoprocess_task.py rename to dags/suggestions/tasks/airflow_logic/db_read_suggestiontoprocess_task.py index 3dcd36249..d86347ff9 100644 --- a/dags/suggestions/airflow_logic/db_read_suggestiontoprocess_task.py +++ b/dags/suggestions/tasks/airflow_logic/db_read_suggestiontoprocess_task.py @@ -1,6 +1,6 @@ from airflow.models import DAG from airflow.operators.python import ShortCircuitOperator -from suggestions.business_logic.db_read_suggestiontoprocess import ( +from suggestions.tasks.business_logic.db_read_suggestiontoprocess import ( db_read_suggestiontoprocess, ) diff --git a/dags/suggestions/airflow_logic/db_write_validsuggestions_task.py b/dags/suggestions/tasks/airflow_logic/db_write_validsuggestions_task.py similarity index 90% rename from dags/suggestions/airflow_logic/db_write_validsuggestions_task.py rename to dags/suggestions/tasks/airflow_logic/db_write_validsuggestions_task.py index 80f097955..071b1db3f 100644 --- a/dags/suggestions/airflow_logic/db_write_validsuggestions_task.py +++ b/dags/suggestions/tasks/airflow_logic/db_write_validsuggestions_task.py @@ -1,6 +1,6 @@ from airflow.models import DAG from airflow.operators.python import PythonOperator -from suggestions.business_logic.db_write_validsuggestions import ( +from suggestions.tasks.business_logic.db_write_validsuggestions import ( db_write_validsuggestions, ) from utils import logging_utils as log diff --git a/dags/suggestions/airflow_logic/launch_compute_carte_acteur_task.py b/dags/suggestions/tasks/airflow_logic/launch_compute_carte_acteur_task.py similarity index 100% rename from dags/suggestions/airflow_logic/launch_compute_carte_acteur_task.py rename to dags/suggestions/tasks/airflow_logic/launch_compute_carte_acteur_task.py diff --git a/dags/suggestions/business_logic/db_normalize_suggestion.py b/dags/suggestions/tasks/business_logic/db_normalize_suggestion.py similarity index 98% rename from dags/suggestions/business_logic/db_normalize_suggestion.py rename to dags/suggestions/tasks/business_logic/db_normalize_suggestion.py index 7b33e281c..01249eda8 100644 --- a/dags/suggestions/business_logic/db_normalize_suggestion.py +++ b/dags/suggestions/tasks/business_logic/db_normalize_suggestion.py @@ -1,7 +1,7 @@ import pandas as pd from shared.tasks.database_logic.db_manager import PostgresConnectionManager from sources.config import shared_constants as constants -from suggestions.business_logic.db_read_suggestiontoprocess import ( +from suggestions.tasks.business_logic.db_read_suggestiontoprocess import ( get_first_suggetsioncohorte_to_insert, ) from utils import logging_utils as log diff --git a/dags/suggestions/business_logic/db_read_suggestiontoprocess.py b/dags/suggestions/tasks/business_logic/db_read_suggestiontoprocess.py similarity index 100% rename from dags/suggestions/business_logic/db_read_suggestiontoprocess.py rename to dags/suggestions/tasks/business_logic/db_read_suggestiontoprocess.py diff --git a/dags/suggestions/business_logic/db_write_validsuggestions.py b/dags/suggestions/tasks/business_logic/db_write_validsuggestions.py similarity index 100% rename from dags/suggestions/business_logic/db_write_validsuggestions.py rename to dags/suggestions/tasks/business_logic/db_write_validsuggestions.py diff --git a/data/migrations/0001_bancache.py b/data/migrations/0001_bancache.py new file mode 100644 index 000000000..887041a9a --- /dev/null +++ b/data/migrations/0001_bancache.py @@ -0,0 +1,55 @@ +# Generated by Django 5.1.4 on 2025-01-09 14:04 + +import django.contrib.gis.db.models.fields +import django.core.validators +import django.db.models.deletion +import django.db.models.functions.datetime +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="BANCache", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("adresse", models.CharField(blank=True, max_length=255, null=True)), + ( + "code_postal", + models.CharField(blank=True, max_length=255, null=True), + ), + ("ville", models.CharField(blank=True, max_length=255, null=True)), + ( + "location", + django.contrib.gis.db.models.fields.PointField( + blank=True, null=True, srid=4326 + ), + ), + ("ban_returned", models.JSONField(blank=True, null=True)), + ( + "modifie_le", + models.DateTimeField( + auto_now=True, + db_default=django.db.models.functions.datetime.Now(), + ), + ), + ], + options={ + "verbose_name": "Cache BAN", + "verbose_name_plural": "Cache BAN", + }, + ), + ] diff --git a/data/migrations/0001_initial.py b/data/migrations/0002_tables_suggestion.py similarity index 77% rename from data/migrations/0001_initial.py rename to data/migrations/0002_tables_suggestion.py index e12402e22..0cdbcef99 100644 --- a/data/migrations/0001_initial.py +++ b/data/migrations/0002_tables_suggestion.py @@ -11,47 +11,11 @@ class Migration(migrations.Migration): initial = True - dependencies = [] + dependencies = [ + ("data", "0001_bancache"), + ] operations = [ - migrations.CreateModel( - name="BANCache", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("adresse", models.CharField(blank=True, max_length=255, null=True)), - ( - "code_postal", - models.CharField(blank=True, max_length=255, null=True), - ), - ("ville", models.CharField(blank=True, max_length=255, null=True)), - ( - "location", - django.contrib.gis.db.models.fields.PointField( - blank=True, null=True, srid=4326 - ), - ), - ("ban_returned", models.JSONField(blank=True, null=True)), - ( - "modifie_le", - models.DateTimeField( - auto_now=True, - db_default=django.db.models.functions.datetime.Now(), - ), - ), - ], - options={ - "verbose_name": "Cache BAN", - "verbose_name_plural": "Cache BAN", - }, - ), migrations.CreateModel( name="SuggestionCohorte", fields=[ @@ -115,18 +79,6 @@ class Migration(migrations.Migration): null=True, ), ), - ( - "pourcentage_erreurs_tolerees", - models.IntegerField( - db_default=0, - default=0, - help_text="Nombre d'erreurs tolérées en pourcentage", - validators=[ - django.core.validators.MinValueValidator(0), - django.core.validators.MaxValueValidator(100), - ], - ), - ), ( "cree_le", models.DateTimeField( diff --git a/data/models.py b/data/models.py index 61c6e4abb..329fc4872 100644 --- a/data/models.py +++ b/data/models.py @@ -1,5 +1,4 @@ from django.contrib.gis.db import models -from django.core.validators import MaxValueValidator, MinValueValidator from django.db.models.functions import Now from dags.sources.config.shared_constants import ( @@ -72,12 +71,6 @@ class SuggestionCohorte(models.Model): metadata = models.JSONField( null=True, blank=True, help_text="Metadata de la cohorte, données statistiques" ) - pourcentage_erreurs_tolerees = models.IntegerField( - default=0, - db_default=0, - help_text="Nombre d'erreurs tolérées en pourcentage", - validators=[MinValueValidator(0), MaxValueValidator(100)], - ) cree_le = models.DateTimeField(auto_now_add=True, db_default=Now()) modifie_le = models.DateTimeField(auto_now=True, db_default=Now()) @@ -99,30 +92,12 @@ def is_clustering_type(self) -> bool: def __str__(self) -> str: return f"{self.identifiant_action} - {self.identifiant_execution}" - def display_meta_data(self) -> dict: - displayed_metadata = {} - displayed_metadata["Nombre d'acteur à créer ou mettre à jour"] = ( - self.metadata.get("acteurs_to_add_or_update", 0) - ) - displayed_metadata["Nombre de duplicats"] = self.metadata.get( - "number_of_duplicates", 0 - ) - displayed_metadata["Nombre d'acteur à supprimer"] = self.metadata.get( - "number_of_removed_actors", 0 - ) - return displayed_metadata - class SuggestionUnitaire(models.Model): id = models.AutoField(primary_key=True) suggestion_cohorte = models.ForeignKey( SuggestionCohorte, on_delete=models.CASCADE, related_name="suggestion_unitaires" ) - type_action = models.CharField( - choices=SuggestionAction.choices, - max_length=250, - blank=True, - ) statut = models.CharField( max_length=50, choices=SuggestionStatut.choices, diff --git a/dev-requirements.txt b/dev-requirements.txt index 854156923..c6ed309ca 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1024,6 +1024,10 @@ jmespath==1.0.1 \ # via # -c requirements.txt # apache-airflow-providers-fab +joblib==1.4.2 \ + --hash=sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6 \ + --hash=sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e + # via scikit-learn jsonschema==4.23.0 \ --hash=sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4 \ --hash=sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566 @@ -1439,6 +1443,9 @@ numpy==1.26.4 \ --hash=sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f # via # -c requirements.txt + # pandas + # scikit-learn + # scipy # shapely opentelemetry-api==1.29.0 \ --hash=sha256:5fcd94c4141cc49c736271f3e1efb777bebe9cc535759c54c936cca4f1b312b8 \ @@ -1503,6 +1510,35 @@ packaging==24.2 \ # marshmallow-sqlalchemy # pytest # sphinx +pandas==2.1.4 \ + --hash=sha256:00028e6737c594feac3c2df15636d73ace46b8314d236100b57ed7e4b9ebe8d9 \ + --hash=sha256:0aa6e92e639da0d6e2017d9ccff563222f4eb31e4b2c3cf32a2a392fc3103c0d \ + --hash=sha256:1ebfd771110b50055712b3b711b51bee5d50135429364d0498e1213a7adc2be8 \ + --hash=sha256:294d96cfaf28d688f30c918a765ea2ae2e0e71d3536754f4b6de0ea4a496d034 \ + --hash=sha256:3f06bda01a143020bad20f7a85dd5f4a1600112145f126bc9e3e42077c24ef34 \ + --hash=sha256:426dc0f1b187523c4db06f96fb5c8d1a845e259c99bda74f7de97bd8a3bb3139 \ + --hash=sha256:45d63d2a9b1b37fa6c84a68ba2422dc9ed018bdaa668c7f47566a01188ceeec1 \ + --hash=sha256:482d5076e1791777e1571f2e2d789e940dedd927325cc3cb6d0800c6304082f6 \ + --hash=sha256:6b728fb8deba8905b319f96447a27033969f3ea1fea09d07d296c9030ab2ed1d \ + --hash=sha256:8a706cfe7955c4ca59af8c7a0517370eafbd98593155b48f10f9811da440248b \ + --hash=sha256:8ea107e0be2aba1da619cc6ba3f999b2bfc9669a83554b1904ce3dd9507f0860 \ + --hash=sha256:ab5796839eb1fd62a39eec2916d3e979ec3130509930fea17fe6f81e18108f6a \ + --hash=sha256:b0513a132a15977b4a5b89aabd304647919bc2169eac4c8536afb29c07c23540 \ + --hash=sha256:b7d852d16c270e4331f6f59b3e9aa23f935f5c4b0ed2d0bc77637a8890a5d092 \ + --hash=sha256:bd7d5f2f54f78164b3d7a40f33bf79a74cdee72c31affec86bfcabe7e0789821 \ + --hash=sha256:bdec823dc6ec53f7a6339a0e34c68b144a7a1fd28d80c260534c39c62c5bf8c9 \ + --hash=sha256:d2d3e7b00f703aea3945995ee63375c61b2e6aa5aa7871c5d622870e5e137623 \ + --hash=sha256:d65148b14788b3758daf57bf42725caa536575da2b64df9964c563b015230984 \ + --hash=sha256:d797591b6846b9db79e65dc2d0d48e61f7db8d10b2a9480b4e3faaddc421a171 \ + --hash=sha256:dc9bf7ade01143cddc0074aa6995edd05323974e6e40d9dbde081021ded8510e \ + --hash=sha256:e9f17f2b6fc076b2a0078862547595d66244db0f41bf79fc5f64a5c4d635bead \ + --hash=sha256:edbaf9e8d3a63a9276d707b4d25930a262341bca9874fcb22eff5e3da5394732 \ + --hash=sha256:f237e6ca6421265643608813ce9793610ad09b40154a3344a088159590469e46 \ + --hash=sha256:f69b0c9bb174a2342818d3e2778584e18c740d56857fc5cdb944ec8bbe4082cf \ + --hash=sha256:fcb68203c833cc735321512e13861358079a96c174a61f5116a1de89c58c0ef7 + # via + # -c requirements.txt + # -r dev-requirements.in parso==0.8.4 \ --hash=sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18 \ --hash=sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d @@ -1870,6 +1906,7 @@ python-dateutil==2.9.0.post0 \ # croniter # faker # flask-appbuilder + # pandas # pendulum # time-machine python-dotenv==1.0.1 \ @@ -1896,6 +1933,7 @@ pytz==2024.2 \ # -c requirements.txt # croniter # flask-babel + # pandas pyyaml==6.0.2 \ --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ @@ -2216,6 +2254,76 @@ ruff==0.9.1 \ --hash=sha256:f0c8b149e9c7353cace7d698e1656ffcf1e36e50f8ea3b5d5f7f87ff9986a7ca \ --hash=sha256:fd2b25ecaf907d6458fa842675382c8597b3c746a2dde6717fe3415425df0c17 # via -r dev-requirements.in +scikit-learn==1.3.2 \ + --hash=sha256:0402638c9a7c219ee52c94cbebc8fcb5eb9fe9c773717965c1f4185588ad3107 \ + --hash=sha256:0ee107923a623b9f517754ea2f69ea3b62fc898a3641766cb7deb2f2ce450161 \ + --hash=sha256:1215e5e58e9880b554b01187b8c9390bf4dc4692eedeaf542d3273f4785e342c \ + --hash=sha256:15e1e94cc23d04d39da797ee34236ce2375ddea158b10bee3c343647d615581d \ + --hash=sha256:18424efee518a1cde7b0b53a422cde2f6625197de6af36da0b57ec502f126157 \ + --hash=sha256:1d08ada33e955c54355d909b9c06a4789a729977f165b8bae6f225ff0a60ec4a \ + --hash=sha256:3271552a5eb16f208a6f7f617b8cc6d1f137b52c8a1ef8edf547db0259b2c9fb \ + --hash=sha256:35a22e8015048c628ad099da9df5ab3004cdbf81edc75b396fd0cff8699ac58c \ + --hash=sha256:535805c2a01ccb40ca4ab7d081d771aea67e535153e35a1fd99418fcedd1648a \ + --hash=sha256:5b2de18d86f630d68fe1f87af690d451388bb186480afc719e5f770590c2ef6c \ + --hash=sha256:61a6efd384258789aa89415a410dcdb39a50e19d3d8410bd29be365bcdd512d5 \ + --hash=sha256:64381066f8aa63c2710e6b56edc9f0894cc7bf59bd71b8ce5613a4559b6145e0 \ + --hash=sha256:67f37d708f042a9b8d59551cf94d30431e01374e00dc2645fa186059c6c5d78b \ + --hash=sha256:6c43290337f7a4b969d207e620658372ba3c1ffb611f8bc2b6f031dc5c6d1d03 \ + --hash=sha256:6fb6bc98f234fda43163ddbe36df8bcde1d13ee176c6dc9b92bb7d3fc842eb66 \ + --hash=sha256:763f0ae4b79b0ff9cca0bf3716bcc9915bdacff3cebea15ec79652d1cc4fa5c9 \ + --hash=sha256:785a2213086b7b1abf037aeadbbd6d67159feb3e30263434139c98425e3dcfcf \ + --hash=sha256:8db94cd8a2e038b37a80a04df8783e09caac77cbe052146432e67800e430c028 \ + --hash=sha256:a19f90f95ba93c1a7f7924906d0576a84da7f3b2282ac3bfb7a08a32801add93 \ + --hash=sha256:a2f54c76accc15a34bfb9066e6c7a56c1e7235dda5762b990792330b52ccfb05 \ + --hash=sha256:b8692e395a03a60cd927125eef3a8e3424d86dde9b2370d544f0ea35f78a8073 \ + --hash=sha256:cb06f8dce3f5ddc5dee1715a9b9f19f20d295bed8e3cd4fa51e1d050347de525 \ + --hash=sha256:dc9002fc200bed597d5d34e90c752b74df516d592db162f756cc52836b38fe0e \ + --hash=sha256:e326c0eb5cf4d6ba40f93776a20e9a7a69524c4db0757e7ce24ba222471ee8a1 \ + --hash=sha256:ed932ea780517b00dae7431e031faae6b49b20eb6950918eb83bd043237950e0 \ + --hash=sha256:fc4144a5004a676d5022b798d9e573b05139e77f271253a4703eed295bde0433 + # via -r dev-requirements.in +scipy==1.15.1 \ + --hash=sha256:033a75ddad1463970c96a88063a1df87ccfddd526437136b6ee81ff0312ebdf6 \ + --hash=sha256:0458839c9f873062db69a03de9a9765ae2e694352c76a16be44f93ea45c28d2b \ + --hash=sha256:070d10654f0cb6abd295bc96c12656f948e623ec5f9a4eab0ddb1466c000716e \ + --hash=sha256:09c52320c42d7f5c7748b69e9f0389266fd4f82cf34c38485c14ee976cb8cb04 \ + --hash=sha256:0ac102ce99934b162914b1e4a6b94ca7da0f4058b6d6fd65b0cef330c0f3346f \ + --hash=sha256:0fb57b30f0017d4afa5fe5f5b150b8f807618819287c21cbe51130de7ccdaed2 \ + --hash=sha256:100193bb72fbff37dbd0bf14322314fc7cbe08b7ff3137f11a34d06dc0ee6b85 \ + --hash=sha256:14eaa373c89eaf553be73c3affb11ec6c37493b7eaaf31cf9ac5dffae700c2e0 \ + --hash=sha256:2114a08daec64980e4b4cbdf5bee90935af66d750146b1d2feb0d3ac30613692 \ + --hash=sha256:21e10b1dd56ce92fba3e786007322542361984f8463c6d37f6f25935a5a6ef52 \ + --hash=sha256:2722a021a7929d21168830790202a75dbb20b468a8133c74a2c0230c72626b6c \ + --hash=sha256:395be70220d1189756068b3173853029a013d8c8dd5fd3d1361d505b2aa58fa7 \ + --hash=sha256:3fe1d95944f9cf6ba77aa28b82dd6bb2a5b52f2026beb39ecf05304b8392864b \ + --hash=sha256:491d57fe89927fa1aafbe260f4cfa5ffa20ab9f1435025045a5315006a91b8f5 \ + --hash=sha256:4b17d4220df99bacb63065c76b0d1126d82bbf00167d1730019d2a30d6ae01ea \ + --hash=sha256:4c9d8fc81d6a3b6844235e6fd175ee1d4c060163905a2becce8e74cb0d7554ce \ + --hash=sha256:55cc79ce4085c702ac31e49b1e69b27ef41111f22beafb9b49fea67142b696c4 \ + --hash=sha256:5b190b935e7db569960b48840e5bef71dc513314cc4e79a1b7d14664f57fd4ff \ + --hash=sha256:5bd8d27d44e2c13d0c1124e6a556454f52cd3f704742985f6b09e75e163d20d2 \ + --hash=sha256:5dff14e75cdbcf07cdaa1c7707db6017d130f0af9ac41f6ce443a93318d6c6e0 \ + --hash=sha256:5eb0ca35d4b08e95da99a9f9c400dc9f6c21c424298a0ba876fdc69c7afacedf \ + --hash=sha256:63b9b6cd0333d0eb1a49de6f834e8aeaefe438df8f6372352084535ad095219e \ + --hash=sha256:667f950bf8b7c3a23b4199db24cb9bf7512e27e86d0e3813f015b74ec2c6e3df \ + --hash=sha256:6b3e71893c6687fc5e29208d518900c24ea372a862854c9888368c0b267387ab \ + --hash=sha256:71ba9a76c2390eca6e359be81a3e879614af3a71dfdabb96d1d7ab33da6f2364 \ + --hash=sha256:74bb864ff7640dea310a1377d8567dc2cb7599c26a79ca852fc184cc851954ac \ + --hash=sha256:82add84e8a9fb12af5c2c1a3a3f1cb51849d27a580cb9e6bd66226195142be6e \ + --hash=sha256:837299eec3d19b7e042923448d17d95a86e43941104d33f00da7e31a0f715d3c \ + --hash=sha256:900f3fa3db87257510f011c292a5779eb627043dd89731b9c461cd16ef76ab3d \ + --hash=sha256:9f151e9fb60fbf8e52426132f473221a49362091ce7a5e72f8aa41f8e0da4f25 \ + --hash=sha256:af0b61c1de46d0565b4b39c6417373304c1d4f5220004058bdad3061c9fa8a95 \ + --hash=sha256:bc7136626261ac1ed988dca56cfc4ab5180f75e0ee52e58f1e6aa74b5f3eacd5 \ + --hash=sha256:be3deeb32844c27599347faa077b359584ba96664c5c79d71a354b80a0ad0ce0 \ + --hash=sha256:c09aa9d90f3500ea4c9b393ee96f96b0ccb27f2f350d09a47f533293c78ea776 \ + --hash=sha256:c352c1b6d7cac452534517e022f8f7b8d139cd9f27e6fbd9f3cbd0bfd39f5bef \ + --hash=sha256:c64ded12dcab08afff9e805a67ff4480f5e69993310e093434b10e85dc9d43e1 \ + --hash=sha256:cdde8414154054763b42b74fe8ce89d7f3d17a7ac5dd77204f0e142cdc9239e9 \ + --hash=sha256:ce3a000cd28b4430426db2ca44d96636f701ed12e2b3ca1f2b1dd7abdd84b39a \ + --hash=sha256:f735bc41bd1c792c96bc426dece66c8723283695f02df61dcc4d0a707a42fc54 \ + --hash=sha256:f82fcf4e5b377f819542fbc8541f7b5fbcf1c0017d0df0bc22c781bf60abc4d8 + # via scikit-learn setproctitle==1.3.4 \ --hash=sha256:020ea47a79b2bbd7bd7b94b85ca956ba7cb026e82f41b20d2e1dac4008cead25 \ --hash=sha256:02ca3802902d91a89957f79da3ec44b25b5804c88026362cb85eea7c1fbdefd1 \ @@ -2489,6 +2597,10 @@ text-unidecode==1.3 \ --hash=sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8 \ --hash=sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93 # via python-slugify +threadpoolctl==3.5.0 \ + --hash=sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107 \ + --hash=sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467 + # via scikit-learn time-machine==2.16.0 \ --hash=sha256:01bc257e9418980a4922de94775be42a966e1a082fb01a1635917f9afc7b84ca \ --hash=sha256:09531af59fdfb39bfd24d28bd1e837eff5a5d98318509a31b6cfd57d27801e52 \ @@ -2569,6 +2681,7 @@ tzdata==2024.2 \ --hash=sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd # via # -c requirements.txt + # pandas # pendulum uc-micro-py==1.0.3 \ --hash=sha256:d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a \ @@ -2767,107 +2880,3 @@ zipp==3.21.0 \ --hash=sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4 \ --hash=sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931 # via importlib-metadata -joblib==1.4.2 \ - --hash=sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6 \ - --hash=sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e - # via scikit-learn -scikit-learn==1.3.2 \ - --hash=sha256:0402638c9a7c219ee52c94cbebc8fcb5eb9fe9c773717965c1f4185588ad3107 \ - --hash=sha256:0ee107923a623b9f517754ea2f69ea3b62fc898a3641766cb7deb2f2ce450161 \ - --hash=sha256:1215e5e58e9880b554b01187b8c9390bf4dc4692eedeaf542d3273f4785e342c \ - --hash=sha256:15e1e94cc23d04d39da797ee34236ce2375ddea158b10bee3c343647d615581d \ - --hash=sha256:18424efee518a1cde7b0b53a422cde2f6625197de6af36da0b57ec502f126157 \ - --hash=sha256:1d08ada33e955c54355d909b9c06a4789a729977f165b8bae6f225ff0a60ec4a \ - --hash=sha256:3271552a5eb16f208a6f7f617b8cc6d1f137b52c8a1ef8edf547db0259b2c9fb \ - --hash=sha256:35a22e8015048c628ad099da9df5ab3004cdbf81edc75b396fd0cff8699ac58c \ - --hash=sha256:535805c2a01ccb40ca4ab7d081d771aea67e535153e35a1fd99418fcedd1648a \ - --hash=sha256:5b2de18d86f630d68fe1f87af690d451388bb186480afc719e5f770590c2ef6c \ - --hash=sha256:61a6efd384258789aa89415a410dcdb39a50e19d3d8410bd29be365bcdd512d5 \ - --hash=sha256:64381066f8aa63c2710e6b56edc9f0894cc7bf59bd71b8ce5613a4559b6145e0 \ - --hash=sha256:67f37d708f042a9b8d59551cf94d30431e01374e00dc2645fa186059c6c5d78b \ - --hash=sha256:6c43290337f7a4b969d207e620658372ba3c1ffb611f8bc2b6f031dc5c6d1d03 \ - --hash=sha256:6fb6bc98f234fda43163ddbe36df8bcde1d13ee176c6dc9b92bb7d3fc842eb66 \ - --hash=sha256:763f0ae4b79b0ff9cca0bf3716bcc9915bdacff3cebea15ec79652d1cc4fa5c9 \ - --hash=sha256:785a2213086b7b1abf037aeadbbd6d67159feb3e30263434139c98425e3dcfcf \ - --hash=sha256:8db94cd8a2e038b37a80a04df8783e09caac77cbe052146432e67800e430c028 \ - --hash=sha256:a19f90f95ba93c1a7f7924906d0576a84da7f3b2282ac3bfb7a08a32801add93 \ - --hash=sha256:a2f54c76accc15a34bfb9066e6c7a56c1e7235dda5762b990792330b52ccfb05 \ - --hash=sha256:b8692e395a03a60cd927125eef3a8e3424d86dde9b2370d544f0ea35f78a8073 \ - --hash=sha256:cb06f8dce3f5ddc5dee1715a9b9f19f20d295bed8e3cd4fa51e1d050347de525 \ - --hash=sha256:dc9002fc200bed597d5d34e90c752b74df516d592db162f756cc52836b38fe0e \ - --hash=sha256:e326c0eb5cf4d6ba40f93776a20e9a7a69524c4db0757e7ce24ba222471ee8a1 \ - --hash=sha256:ed932ea780517b00dae7431e031faae6b49b20eb6950918eb83bd043237950e0 \ - --hash=sha256:fc4144a5004a676d5022b798d9e573b05139e77f271253a4703eed295bde0433 - # via -r req_sickit.in -scipy==1.15.1 \ - --hash=sha256:033a75ddad1463970c96a88063a1df87ccfddd526437136b6ee81ff0312ebdf6 \ - --hash=sha256:0458839c9f873062db69a03de9a9765ae2e694352c76a16be44f93ea45c28d2b \ - --hash=sha256:070d10654f0cb6abd295bc96c12656f948e623ec5f9a4eab0ddb1466c000716e \ - --hash=sha256:09c52320c42d7f5c7748b69e9f0389266fd4f82cf34c38485c14ee976cb8cb04 \ - --hash=sha256:0ac102ce99934b162914b1e4a6b94ca7da0f4058b6d6fd65b0cef330c0f3346f \ - --hash=sha256:0fb57b30f0017d4afa5fe5f5b150b8f807618819287c21cbe51130de7ccdaed2 \ - --hash=sha256:100193bb72fbff37dbd0bf14322314fc7cbe08b7ff3137f11a34d06dc0ee6b85 \ - --hash=sha256:14eaa373c89eaf553be73c3affb11ec6c37493b7eaaf31cf9ac5dffae700c2e0 \ - --hash=sha256:2114a08daec64980e4b4cbdf5bee90935af66d750146b1d2feb0d3ac30613692 \ - --hash=sha256:21e10b1dd56ce92fba3e786007322542361984f8463c6d37f6f25935a5a6ef52 \ - --hash=sha256:2722a021a7929d21168830790202a75dbb20b468a8133c74a2c0230c72626b6c \ - --hash=sha256:395be70220d1189756068b3173853029a013d8c8dd5fd3d1361d505b2aa58fa7 \ - --hash=sha256:3fe1d95944f9cf6ba77aa28b82dd6bb2a5b52f2026beb39ecf05304b8392864b \ - --hash=sha256:491d57fe89927fa1aafbe260f4cfa5ffa20ab9f1435025045a5315006a91b8f5 \ - --hash=sha256:4b17d4220df99bacb63065c76b0d1126d82bbf00167d1730019d2a30d6ae01ea \ - --hash=sha256:4c9d8fc81d6a3b6844235e6fd175ee1d4c060163905a2becce8e74cb0d7554ce \ - --hash=sha256:55cc79ce4085c702ac31e49b1e69b27ef41111f22beafb9b49fea67142b696c4 \ - --hash=sha256:5b190b935e7db569960b48840e5bef71dc513314cc4e79a1b7d14664f57fd4ff \ - --hash=sha256:5bd8d27d44e2c13d0c1124e6a556454f52cd3f704742985f6b09e75e163d20d2 \ - --hash=sha256:5dff14e75cdbcf07cdaa1c7707db6017d130f0af9ac41f6ce443a93318d6c6e0 \ - --hash=sha256:5eb0ca35d4b08e95da99a9f9c400dc9f6c21c424298a0ba876fdc69c7afacedf \ - --hash=sha256:63b9b6cd0333d0eb1a49de6f834e8aeaefe438df8f6372352084535ad095219e \ - --hash=sha256:667f950bf8b7c3a23b4199db24cb9bf7512e27e86d0e3813f015b74ec2c6e3df \ - --hash=sha256:6b3e71893c6687fc5e29208d518900c24ea372a862854c9888368c0b267387ab \ - --hash=sha256:71ba9a76c2390eca6e359be81a3e879614af3a71dfdabb96d1d7ab33da6f2364 \ - --hash=sha256:74bb864ff7640dea310a1377d8567dc2cb7599c26a79ca852fc184cc851954ac \ - --hash=sha256:82add84e8a9fb12af5c2c1a3a3f1cb51849d27a580cb9e6bd66226195142be6e \ - --hash=sha256:837299eec3d19b7e042923448d17d95a86e43941104d33f00da7e31a0f715d3c \ - --hash=sha256:900f3fa3db87257510f011c292a5779eb627043dd89731b9c461cd16ef76ab3d \ - --hash=sha256:9f151e9fb60fbf8e52426132f473221a49362091ce7a5e72f8aa41f8e0da4f25 \ - --hash=sha256:af0b61c1de46d0565b4b39c6417373304c1d4f5220004058bdad3061c9fa8a95 \ - --hash=sha256:bc7136626261ac1ed988dca56cfc4ab5180f75e0ee52e58f1e6aa74b5f3eacd5 \ - --hash=sha256:be3deeb32844c27599347faa077b359584ba96664c5c79d71a354b80a0ad0ce0 \ - --hash=sha256:c09aa9d90f3500ea4c9b393ee96f96b0ccb27f2f350d09a47f533293c78ea776 \ - --hash=sha256:c352c1b6d7cac452534517e022f8f7b8d139cd9f27e6fbd9f3cbd0bfd39f5bef \ - --hash=sha256:c64ded12dcab08afff9e805a67ff4480f5e69993310e093434b10e85dc9d43e1 \ - --hash=sha256:cdde8414154054763b42b74fe8ce89d7f3d17a7ac5dd77204f0e142cdc9239e9 \ - --hash=sha256:ce3a000cd28b4430426db2ca44d96636f701ed12e2b3ca1f2b1dd7abdd84b39a \ - --hash=sha256:f735bc41bd1c792c96bc426dece66c8723283695f02df61dcc4d0a707a42fc54 \ - --hash=sha256:f82fcf4e5b377f819542fbc8541f7b5fbcf1c0017d0df0bc22c781bf60abc4d8 - # via scikit-learn -threadpoolctl==3.5.0 \ - --hash=sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107 \ - --hash=sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467 - # via scikit-learn -pandas==2.1.4 \ - --hash=sha256:00028e6737c594feac3c2df15636d73ace46b8314d236100b57ed7e4b9ebe8d9 \ - --hash=sha256:0aa6e92e639da0d6e2017d9ccff563222f4eb31e4b2c3cf32a2a392fc3103c0d \ - --hash=sha256:1ebfd771110b50055712b3b711b51bee5d50135429364d0498e1213a7adc2be8 \ - --hash=sha256:294d96cfaf28d688f30c918a765ea2ae2e0e71d3536754f4b6de0ea4a496d034 \ - --hash=sha256:3f06bda01a143020bad20f7a85dd5f4a1600112145f126bc9e3e42077c24ef34 \ - --hash=sha256:426dc0f1b187523c4db06f96fb5c8d1a845e259c99bda74f7de97bd8a3bb3139 \ - --hash=sha256:45d63d2a9b1b37fa6c84a68ba2422dc9ed018bdaa668c7f47566a01188ceeec1 \ - --hash=sha256:482d5076e1791777e1571f2e2d789e940dedd927325cc3cb6d0800c6304082f6 \ - --hash=sha256:6b728fb8deba8905b319f96447a27033969f3ea1fea09d07d296c9030ab2ed1d \ - --hash=sha256:8a706cfe7955c4ca59af8c7a0517370eafbd98593155b48f10f9811da440248b \ - --hash=sha256:8ea107e0be2aba1da619cc6ba3f999b2bfc9669a83554b1904ce3dd9507f0860 \ - --hash=sha256:ab5796839eb1fd62a39eec2916d3e979ec3130509930fea17fe6f81e18108f6a \ - --hash=sha256:b0513a132a15977b4a5b89aabd304647919bc2169eac4c8536afb29c07c23540 \ - --hash=sha256:b7d852d16c270e4331f6f59b3e9aa23f935f5c4b0ed2d0bc77637a8890a5d092 \ - --hash=sha256:bd7d5f2f54f78164b3d7a40f33bf79a74cdee72c31affec86bfcabe7e0789821 \ - --hash=sha256:bdec823dc6ec53f7a6339a0e34c68b144a7a1fd28d80c260534c39c62c5bf8c9 \ - --hash=sha256:d2d3e7b00f703aea3945995ee63375c61b2e6aa5aa7871c5d622870e5e137623 \ - --hash=sha256:d65148b14788b3758daf57bf42725caa536575da2b64df9964c563b015230984 \ - --hash=sha256:d797591b6846b9db79e65dc2d0d48e61f7db8d10b2a9480b4e3faaddc421a171 \ - --hash=sha256:dc9bf7ade01143cddc0074aa6995edd05323974e6e40d9dbde081021ded8510e \ - --hash=sha256:e9f17f2b6fc076b2a0078862547595d66244db0f41bf79fc5f64a5c4d635bead \ - --hash=sha256:edbaf9e8d3a63a9276d707b4d25930a262341bca9874fcb22eff5e3da5394732 \ - --hash=sha256:f237e6ca6421265643608813ce9793610ad09b40154a3344a088159590469e46 \ - --hash=sha256:f69b0c9bb174a2342818d3e2778584e18c740d56857fc5cdb944ec8bbe4082cf \ - --hash=sha256:fcb68203c833cc735321512e13861358079a96c174a61f5116a1de89c58c0ef7 \ No newline at end of file diff --git a/templates/data/_partials/source_supression_event.html b/templates/data/_partials/source_supression_event.html index b348c79b4..3b6257b24 100644 --- a/templates/data/_partials/source_supression_event.html +++ b/templates/data/_partials/source_supression_event.html @@ -1,7 +1,7 @@ - action_type + type_action Acteur suggestion @@ -10,7 +10,7 @@ {% for suggestion_unitaire in suggestion_unitaires %} - {{ suggestion_unitaire.get_action_type_display }} + {{ suggestion_unitaire.get_type_action_display }} {% for key, value in suggestion_unitaire.display_acteur_details.items %}

{{ key }} : {{ value }}