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
|
@ -6,5 +6,6 @@ __pycache__/
|
||||||
# Environments
|
# Environments
|
||||||
localenv
|
localenv
|
||||||
|
|
||||||
# Temporary files
|
# Editors and IDE
|
||||||
*~
|
*~
|
||||||
|
.idea
|
|
@ -40,6 +40,10 @@ Version : 1.0
|
||||||
|
|
||||||
Journal des versions
|
Journal des versions
|
||||||
|
|
||||||
|
v2.0 (2020/)
|
||||||
|
Le fichier de sortie contient plus d'informations pour faciliter la
|
||||||
|
comparaison
|
||||||
|
|
||||||
v1.0 (2020/05/16)
|
v1.0 (2020/05/16)
|
||||||
Première publication
|
Première publication
|
||||||
|
|
||||||
|
@ -68,15 +72,6 @@ import os
|
||||||
import peewee
|
import peewee
|
||||||
import requests
|
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
|
# Base de donnée INSEE
|
||||||
database = peewee.SqliteDatabase(chemin_base_donnees)
|
database = peewee.SqliteDatabase(chemin_base_donnees)
|
||||||
|
@ -146,30 +141,33 @@ def get_member_profile(member_id, cookie):
|
||||||
for unite in numeros_unites:
|
for unite in numeros_unites:
|
||||||
print(f"Unité {unite}")
|
print(f"Unité {unite}")
|
||||||
# Récupérer la liste des membres
|
# 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
|
# Préparer le fichier de sortie
|
||||||
output_file = os.path.join(chemin_repertoire_sortie, f"liste_membres_decedes_unite_{unite}.txt")
|
output_file = os.path.join(chemin_repertoire_sortie, f"liste_membres_decedes_unite_{unite}.txt")
|
||||||
with open(output_file, 'w') as out_file:
|
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
|
# Boucler sur la liste des membres
|
||||||
for member in members:
|
for member in members:
|
||||||
# Lire les noms et date de naissance
|
# Lire les noms et date de naissance
|
||||||
full_name = member['nameListPreferredLocal']
|
full_name = member['nameListPreferredLocal']
|
||||||
full_birthdate = member['birth']['date']['date']
|
full_birthdate = member['birth']['date']['date']
|
||||||
maiden_name = None
|
maiden_name = None
|
||||||
|
ville_registre = None
|
||||||
# S'il s'agit d'une femme mariée, trouver son nom de jeune fille
|
# S'il s'agit d'une femme mariée, trouver son nom de jeune fille
|
||||||
if member['isSpouse']:
|
if member['isSpouse']:
|
||||||
member_profile = get_member_profile(member['legacyCmisId'], cookie=cookie)
|
member_profile = get_member_profile(member['legacyCmisId'], cookie=cookie)
|
||||||
maiden_name = member_profile['individual']['maidenNameGroup']['name1']['family']
|
maiden_name = member_profile['individual']['maidenNameGroup']['name1']['family']
|
||||||
|
ville_registre = member_profile['individual']['birthPlace']
|
||||||
try:
|
try:
|
||||||
last_name, first_name = full_name.split(',')
|
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:
|
except ValueError:
|
||||||
print(f"Error with member [{full_name}, {full_birthdate}]")
|
print(f"Error with member [{full_name}, {full_birthdate}]")
|
||||||
continue
|
continue
|
||||||
first_name = first_name.strip().split(' ')[0]
|
first_name = first_name.strip().split(' ')[0]
|
||||||
last_name = last_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:
|
if maiden_name:
|
||||||
full_name = f"{full_name} née {maiden_name}"
|
full_name = f"{full_name} née {maiden_name}"
|
||||||
if member['sex'] == "F":
|
if member['sex'] == "F":
|
||||||
|
@ -177,15 +175,16 @@ for unite in numeros_unites:
|
||||||
else:
|
else:
|
||||||
feminin = ""
|
feminin = ""
|
||||||
for person in query:
|
for person in query:
|
||||||
text = output_template.format(full_name=full_name,
|
if not ville_registre:
|
||||||
last_name=person.last_name.capitalize(),
|
member_profile = get_member_profile(member['legacyCmisId'], cookie=cookie)
|
||||||
first_name=person.first_name.capitalize(),
|
ville_registre = member_profile['individual']['birthPlace']
|
||||||
jour_naissance=person.jour_naissance,
|
text = f"""
|
||||||
mois_naissance=person.mois_naissance,
|
Le membre {full_name},
|
||||||
annee_naissance=person.annee_naissance,
|
né{feminin} le {jour_registre:0>2}/{mois_registre:0>2}/{annee_registre:0>4} à {ville_registre}
|
||||||
jour_deces=person.jour_deces,
|
semble être décédé{feminin}.
|
||||||
mois_deces=person.mois_deces,
|
Dans le fichier de l'INSEE on peut trouver {last_name}, {first_name}
|
||||||
annee_deces=person.annee_deces,
|
né{feminin} le {person.jour_naissance:0>2}/{person.mois_naissance:0>2}/{person.annee_naissance:0>4} à {person.code_lieu_naissance}
|
||||||
feminin=feminin)
|
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)
|
print(text)
|
||||||
out_file.write(text)
|
out_file.write(text)
|
||||||
|
|
Loading…
Reference in New Issue