Skip to content

Commit 644034f

Browse files
authored
Merge pull request #1436 from MTES-MCT/fix-data-gouv
Ajout de la journalisation pour la création et la mise à jour des datasets data gouv
2 parents 0e8c9ff + 1ee58ea commit 644034f

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

airflow/include/file_handling/DataGouvHandler.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
import logging
2+
13
import requests
24

5+
logger = logging.getLogger(__name__)
6+
37
SPARTE_SLUG_KEY = "sparte_slug"
48

59

@@ -71,11 +75,16 @@ def create_dataset(
7175
"extras": {SPARTE_SLUG_KEY: slug},
7276
}
7377

78+
logger.info(f"Création dataset: POST {url}")
7479
response = requests.post(url, headers=self._headers(), json=payload)
80+
logger.info(f"Réponse création dataset: status={response.status_code}")
81+
7582
if not response.ok:
7683
raise DataGouvException(response.text)
7784

78-
return response.json()
85+
result = response.json()
86+
logger.debug(f"Réponse JSON: {result}")
87+
return result
7988

8089
def update_dataset(self, dataset_id: str, **kwargs) -> dict:
8190
"""Met à jour un dataset existant."""
@@ -152,11 +161,18 @@ def get_or_create_dataset(self, slug: str, title: str) -> dict:
152161
"""
153162
dataset = self.find_dataset_by_slug(slug)
154163
if dataset:
164+
logger.info(f"Dataset trouvé pour slug '{slug}': id={dataset.get('id')}")
155165
# Met à jour le titre si nécessaire
156166
if dataset.get("title") != title:
157167
dataset = self.update_dataset(dataset["id"], title=title)
158168
else:
169+
logger.info(f"Dataset non trouvé pour slug '{slug}', création en cours...")
159170
dataset = self.create_dataset(slug=slug, title=title)
171+
logger.info(f"Dataset créé: {dataset}")
172+
173+
if "id" not in dataset:
174+
raise DataGouvException(f"Dataset retourné sans 'id'. Slug: {slug}, Réponse: {dataset}")
175+
160176
return dataset
161177

162178
def get_dataset_by_id(self, dataset_id: str) -> dict:

0 commit comments

Comments
 (0)