From bb709eb2c1929e6fc5270f3cd7de547196d3213b Mon Sep 17 00:00:00 2001 From: Sdj GeeK Date: Tue, 4 Aug 2020 08:46:04 +0200 Subject: [PATCH] release 7.0 --- CHANGELOG.md | 3 +++ purge-registres-deces-insee/site_opendatasoft.py | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09c4fa1..ed70c53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +### [v7.0] 2020-08-04 +- Convertit les Codes Officiels Géographiques en nom de commune. + ### [v6.1] 2020-07-30 - BUG: Lorsque maiden_name est None, ne pas essayer de le strip diff --git a/purge-registres-deces-insee/site_opendatasoft.py b/purge-registres-deces-insee/site_opendatasoft.py index e9ad88d..cb22c2f 100644 --- a/purge-registres-deces-insee/site_opendatasoft.py +++ b/purge-registres-deces-insee/site_opendatasoft.py @@ -10,18 +10,29 @@ import requests def get_ville_from_cog(cog): + """ + Donne le nom de la commune (et son code postal) correspondant au code officiel géographique (cog) donné en entrée. + + :param cog: le code officiel géographique à convertie + :return: le nom de la commune (et son code postal). None si la recherche a échoué. + """ + # Contacter l'API r = requests.get("https://public.opendatasoft.com/api/records/1.0/search/", params={'dataset': "correspondance-code-insee-code-postal", 'q': f"insee_com={cog}", 'lang': "fr"}, headers={'Accept': "application/json"}) + # Tester la validité de la réponse try: r.raise_for_status() except requests.HTTPError: print(f"Warning get_ville_from_cog: requests return status {r.headers}") return None + # Récupérer le résultat result = r.json() + # Si résultat non vide if result['nhits'] > 0: + # COMMUNE (CODE POSTAL) return f"{result['records'][0]['fields']['nom_comm']} ({result['records'][0]['fields']['postal_code']})" print(f"Warning get_ville_from_cog: no result returned for cog {cog}") return None