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)