From 6266194d2909a28f1153db65b42072af9e78ea18 Mon Sep 17 00:00:00 2001 From: SDJ GeeK Date: Mon, 1 Jun 2020 09:25:26 +0200 Subject: [PATCH] Creation d'un fichier settings.py et d'un changelog --- CHANGELOG.md | 10 +++++++++ README.md | 8 +++---- settings.py | 31 +++++++++++++++++++++++++++ trouver_decedes.py | 52 +++++++++++----------------------------------- 4 files changed, 57 insertions(+), 44 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 settings.py diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..4da3209 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +### [v2.0] - 2020-06-01 +- Le fichier de sortie contient plus d'informations pour faciliter la comparaison (lieu de naissance) +- Sortie des paramètres du code et création du fichier settings.py +- Mise à disposition de la base de donnée au format torrent +- Création du changelog + +### [v1.0] - 2020-05-16 +- Première publication \ No newline at end of file diff --git a/README.md b/README.md index e0555a4..4d1b123 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,10 @@ Testé uniquement sur GNU/Linux (Ubuntu 18.4) ### Données -Le fichier de l'INSEE tel qu'il est présenté n'est pas facile à exploiter. Je -l'ai donc converti en base de donnée SQLite, plus pratique d'utilisation. Je -n'ai pas encore uploadé ce fichier, mais vous pouvez me le demander par -courriel. +Le fichier de l'INSEE tel qu'il est présenté n'est pas facile à +exploiter. Je l'ai donc converti en base de donnée SQLite, plus +pratique d'utilisation. Pour le télécharger, [rendez-vous +ici](https://git.roflcopter.fr/sdjgeek/purge-registres-deces-insee/-/wikis/home#t%C3%A9l%C3%A9charger-la-base-de-donn%C3%A9e). ## Installation diff --git a/settings.py b/settings.py new file mode 100644 index 0000000..0ffb11e --- /dev/null +++ b/settings.py @@ -0,0 +1,31 @@ +""" +Paramètres de l'application + - chemin_base_donnees : Le chemin vers le fichier téléchargé sur le site data.gouv.fr + - numeros_unites : La liste des unités que le programme doit tester. La liste commence par le caractère '['. Les + numéros d'unités sont séparés par des virgules. La liste se termine par le caractère ']'. Par exemple + [47823, 67745, 31456] + - cookie : Les cookies de la session au compte SDJ. Pour obtenir ces cookies il faut + 1- Ouvrir Firefox + 2- Ouvrir les outils de développement : CTRL + MAJ + E + 3- Aller sur le site des outils pour greffiers : https://lds.org/lcr + 4- Entrer identifiant et mot de passe SDJ + 5- Aller dans la liste des membres + 6- Dans l'outil de développement, cliquer sur la dernière ligne + 7- Dans le paneau de droite, dans la section "En-tête de la requête", rechercher le champ "cookie" + 8- Copier la valeur contenue dans ce champ + - chemin_repertoire_sortie : Le chemin vers le répertoire qui contiendra la fichiers de sortie +""" + +# Chemin complet vers le fichier contenant les registres de l'INSEE. +# Pour le télécharger, rendez-vous ici : +# https://git.roflcopter.fr/sdjgeek/purge-registres-deces-insee/-/wikis/home#t%C3%A9l%C3%A9charger-la-base-de-donn%C3%A9e +chemin_base_donnees = "/chemin/vers/fichier-des-personnes-decedees.sqlite" + +# Numéro des l'unités à contrôler +numeros_unites = [47823, 67745, 31456] + +# Cookie de session compte SDJ +cookie = "" + +# Chemin vers le répertoire de sortie +chemin_repertoire_sortie = "/chemin/vers/repertoire-de-sortie" diff --git a/trouver_decedes.py b/trouver_decedes.py index 342ee09..14b4cce 100755 --- a/trouver_decedes.py +++ b/trouver_decedes.py @@ -13,8 +13,8 @@ libre sur le site https://www.data.gouv.fr. Comment utilise ce programme : 1) Demander le ficher de l'INSEE à cette adresse : sdjgeek@protonmail.com 2) Installer les dépendance du programme : "pip install requests peewee" -3) Configurer les paramètres du programme (un peu plus bas) - - chemin_base_donnees : Le chemin vers le fichier téléchargé sur le site data.gouv.fr +3) Configurer les paramètres du programme (fichier settings.py) + - chemin_base_donnees : Le chemin vers [le fichier téléchargé ici](https://git.roflcopter.fr/sdjgeek/purge-registres-deces-insee/-/wikis/home#t%C3%A9l%C3%A9charger-la-base-de-donn%C3%A9e) - numeros_unites : La liste des unités que le programme doit tester. La liste commence par le caractère '['. Les numéros d'unités sont séparés par des virgules. La liste se termine par le caractère ']'. Par exemple [47823, 67745, 31456] @@ -33,48 +33,20 @@ Comment utilise ce programme : ------------------------------------------------------------------------------------------------------------------------ Auteur : SDJ GeeK -Date : 16 mai 2020 -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 +Date : 1 juin 2020 +Version : 2.0 """ -### -# Paramètres - -# Chemin complet vers le fichier contenant les registres de l'INSEE -chemin_base_donnees = "/chemin/vers/fichier-des-personnes-decedees.sqlite" - -# Numéro des l'unités à contrôler (par exemple [47823, 67745, 31456]) -# Beziers 63789, Carcassonne 85774, Montauban 226122, Montpellier 83895, Nimes 72850, Perpignan 75698, Rodez 333824, Tarbes 65471, Capitole 111848, Concorde 263923 -numeros_unites = [63789, 111848] - -# Cookie de session compte SDJ -cookie = "" - -# Chemin vers le répertoire de sortie -chemin_repertoire_sortie = "/chemin/vers/repertoire-de-sortie" - -# Fin des paramètres. Ne pas modifier plus loin. -### - import os import peewee import requests +import settings as param + ### # Base de donnée INSEE -database = peewee.SqliteDatabase(chemin_base_donnees) +database = peewee.SqliteDatabase(param.chemin_base_donnees) class Person(peewee.Model): @@ -138,13 +110,13 @@ def get_member_profile(member_id, cookie): # Programme principal # Boucler sur la liste des unités -for unite in numeros_unites: +for unite in param.numeros_unites: print(f"Unité {unite}") # Récupérer la liste des membres - members = get_member_list(unite, cookie=cookie) + members = get_member_list(unite, cookie=param.cookie) # 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(param.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\n") # Boucler sur la liste des membres @@ -156,7 +128,7 @@ for unite in numeros_unites: 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) + member_profile = get_member_profile(member['legacyCmisId'], cookie=param.cookie) maiden_name = member_profile['individual']['maidenNameGroup']['name1']['family'] ville_registre = member_profile['individual']['birthPlace'] try: @@ -177,7 +149,7 @@ for unite in numeros_unites: feminin = "" for person in query: if not ville_registre: - member_profile = get_member_profile(member['legacyCmisId'], cookie=cookie) + member_profile = get_member_profile(member['legacyCmisId'], cookie=param.cookie) ville_registre = member_profile['individual']['birthPlace'] if not ville_registre: ville_registre = ""