|
| 1 | +import logging |
| 2 | + |
1 | 3 | import requests |
2 | 4 |
|
| 5 | +logger = logging.getLogger(__name__) |
| 6 | + |
3 | 7 | SPARTE_SLUG_KEY = "sparte_slug" |
4 | 8 |
|
5 | 9 |
|
@@ -71,11 +75,16 @@ def create_dataset( |
71 | 75 | "extras": {SPARTE_SLUG_KEY: slug}, |
72 | 76 | } |
73 | 77 |
|
| 78 | + logger.info(f"Création dataset: POST {url}") |
74 | 79 | response = requests.post(url, headers=self._headers(), json=payload) |
| 80 | + logger.info(f"Réponse création dataset: status={response.status_code}") |
| 81 | + |
75 | 82 | if not response.ok: |
76 | 83 | raise DataGouvException(response.text) |
77 | 84 |
|
78 | | - return response.json() |
| 85 | + result = response.json() |
| 86 | + logger.debug(f"Réponse JSON: {result}") |
| 87 | + return result |
79 | 88 |
|
80 | 89 | def update_dataset(self, dataset_id: str, **kwargs) -> dict: |
81 | 90 | """Met à jour un dataset existant.""" |
@@ -152,11 +161,18 @@ def get_or_create_dataset(self, slug: str, title: str) -> dict: |
152 | 161 | """ |
153 | 162 | dataset = self.find_dataset_by_slug(slug) |
154 | 163 | if dataset: |
| 164 | + logger.info(f"Dataset trouvé pour slug '{slug}': id={dataset.get('id')}") |
155 | 165 | # Met à jour le titre si nécessaire |
156 | 166 | if dataset.get("title") != title: |
157 | 167 | dataset = self.update_dataset(dataset["id"], title=title) |
158 | 168 | else: |
| 169 | + logger.info(f"Dataset non trouvé pour slug '{slug}', création en cours...") |
159 | 170 | 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 | + |
160 | 176 | return dataset |
161 | 177 |
|
162 | 178 | def get_dataset_by_id(self, dataset_id: str) -> dict: |
|
0 commit comments