From c992309f37e24f5940c05152aa3dc09ea8f4dcb6 Mon Sep 17 00:00:00 2001 From: SDJ GeeK Date: Thu, 28 May 2020 23:20:54 +0200 Subject: [PATCH] Enrichir le texte de sortie de l'application MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Afin de rendre plus facile la comparaison entre les données du membre et les données de la personne trouvée dans le fichier de l'INSEE, quelques information complémentaires sont ajoutées dans le fichier de sortie : - Date de naissance trouvée dans les registres - Lieu de naissance trouvé dans les registres - Lieu de naissance trouvé dans le fichier INSEE - Lieu de décès trouvé dans le fichier INSEE Fix #1 --- .gitignore | 5 +++-- trouver_decedes.py | 43 +++++++++++++++++++++---------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index e4262bd..3e06c50 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,6 @@ __pycache__/ # Environments localenv -# Temporary files -*~ \ No newline at end of file +# Editors and IDE +*~ +.idea \ No newline at end of file diff --git a/trouver_decedes.py b/trouver_decedes.py index 15ee241..cbe6520 100755 --- a/trouver_decedes.py +++ b/trouver_decedes.py @@ -40,6 +40,10 @@ Version : 1.0 Journal des versions +v2.0 (2020/) +Le fichier de sortie contient plus d'informations pour faciliter la +comparaison + v1.0 (2020/05/16) Première publication @@ -68,15 +72,6 @@ import os import peewee import requests -## -# Texte inscrit dans le fichier de sortie -output_template = """ -{full_name} dans nos registres -{last_name}, {first_name} dans la liste des décés -né{feminin} le {jour_naissance:0>2}/{mois_naissance:0>2}/{annee_naissance:0>4} -décédé{feminin} le {jour_deces:0>2}/{mois_deces:0>2}/{annee_deces:0>4} -""" - ### # Base de donnée INSEE database = peewee.SqliteDatabase(chemin_base_donnees) @@ -146,30 +141,33 @@ def get_member_profile(member_id, cookie): for unite in numeros_unites: print(f"Unité {unite}") # Récupérer la liste des membres - members = get_member_list(111848, cookie=cookie) + members = get_member_list(unite, cookie=cookie) # Préparer le fichier de sortie output_file = os.path.join(chemin_repertoire_sortie, f"liste_membres_decedes_unite_{unite}.txt") with open(output_file, 'w') as out_file: + out_file.write("Les lieux dans le fichier de l'INSEE sont donnés en Code Officiel Géographique en vigueur au moment de la prise en compte du décès") # Boucler sur la liste des membres for member in members: # Lire les noms et date de naissance full_name = member['nameListPreferredLocal'] full_birthdate = member['birth']['date']['date'] maiden_name = None + ville_registre = None # S'il s'agit d'une femme mariée, trouver son nom de jeune fille if member['isSpouse']: member_profile = get_member_profile(member['legacyCmisId'], cookie=cookie) maiden_name = member_profile['individual']['maidenNameGroup']['name1']['family'] + ville_registre = member_profile['individual']['birthPlace'] try: last_name, first_name = full_name.split(',') - annee_naissance, mois_naissance, jour_naissance = full_birthdate.split('-') + annee_registre, mois_registre, jour_registre = full_birthdate.split('-') except ValueError: print(f"Error with member [{full_name}, {full_birthdate}]") continue first_name = first_name.strip().split(' ')[0] last_name = last_name.strip().split(' ')[0] - query = find_person(first_name, last_name, maiden_name, annee_naissance, mois_naissance, jour_naissance) + query = find_person(first_name, last_name, maiden_name, annee_registre, mois_registre, jour_registre) if maiden_name: full_name = f"{full_name} née {maiden_name}" if member['sex'] == "F": @@ -177,15 +175,16 @@ for unite in numeros_unites: else: feminin = "" for person in query: - text = output_template.format(full_name=full_name, - last_name=person.last_name.capitalize(), - first_name=person.first_name.capitalize(), - jour_naissance=person.jour_naissance, - mois_naissance=person.mois_naissance, - annee_naissance=person.annee_naissance, - jour_deces=person.jour_deces, - mois_deces=person.mois_deces, - annee_deces=person.annee_deces, - feminin=feminin) + if not ville_registre: + member_profile = get_member_profile(member['legacyCmisId'], cookie=cookie) + ville_registre = member_profile['individual']['birthPlace'] + text = f""" +Le membre {full_name}, +né{feminin} le {jour_registre:0>2}/{mois_registre:0>2}/{annee_registre:0>4} à {ville_registre} +semble être décédé{feminin}. +Dans le fichier de l'INSEE on peut trouver {last_name}, {first_name} +né{feminin} le {person.jour_naissance:0>2}/{person.mois_naissance:0>2}/{person.annee_naissance:0>4} à {person.code_lieu_naissance} +décédé{feminin} le {person.jour_deces:0>2}/{person.mois_deces:0>2}/{person.annee_deces:0>4} à {person.code_lieu_deces} +""" print(text) out_file.write(text)