Enrichir le texte de sortie de l'application
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
This commit is contained in:
parent
a27c46f062
commit
c992309f37
3
.gitignore
vendored
3
.gitignore
vendored
@ -6,5 +6,6 @@ __pycache__/
|
||||
# Environments
|
||||
localenv
|
||||
|
||||
# Temporary files
|
||||
# Editors and IDE
|
||||
*~
|
||||
.idea
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user