diff --git a/.gitignore b/.gitignore index 392f4f6..946655a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ __pycache__ -/elig-test.ini \ No newline at end of file +/elig-test.ini +*~ \ No newline at end of file diff --git a/README.md b/README.md index d276094..8ac3b84 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,24 @@ Nous utilisons [poetry](https://python-poetry.org/) pour gérer les dépendances Une fois poetry installé, vous pouvez obtenir les dépendances Python à l'aide de `poetry install`. Vous pouvez ensuite obtenir un interprêteur Python pré-configuré pour utiliser ces dépendances à l'aide de `poetry shell`. +## Générer/Mettre à jour la base d'adresse. + +1. Récupérer les données FANTOIR les plus récentes sur cette page: https://www.data.gouv.fr/fr/datasets/fichier-fantoir-des-voies-et-lieux-dits/. +1. Transformez ce fichier texte en une base de données SQLite a l'aide de ce logiciel: https://git.alternativebit.fr/NinjaTrappeur/fast-fantoir/src/branch/fastestest +1. Récupérez la base de données générée puis injectez les données insee à l'aide du script `./data/prepare-fantoir-db` + +``` + » ./data/prepare-fantoir-db fantoir.sqlite +Downloading the latest laposte insee data + + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed +100 2625k 0 2625k 0 0 89006 0 --:--:-- 0:00:30 --:--:-- 99k +Importing data to DB +``` + +La base de données est alors prête, vous pouvez la mettre où vous voulez tant qu'elle est correctement pointée par `db_addresses_sqlite_path` dans le fichier de configuration `axione-elig-test.ini`. + ## Jouer les Tests Nous avons quelques tests pour le parseur. Vous pouvez les jouer à l'aide de: diff --git a/data/prepare-fantoir-db b/data/prepare-fantoir-db new file mode 100755 index 0000000..bc3fb35 --- /dev/null +++ b/data/prepare-fantoir-db @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -euo pipefail + +if [ "$#" -ne 1 ]; then + echo "Usage: prepare-fantoir-db path-to-fantoir-db" + echo "" + echo "ERROR: Missing fantoir db" + exit 1 +fi +fantoirDb="$1" + +# Setup tmp working dir +tmpDir=$(mktemp -d) +posteData="${tmpDir}"/poste.csv +tmpSql="${tmpDir}"/import-insee-codes.sql +clean_tmp () { + rm -r "${tmpDir}" +} +trap clean_tmp EXIT + +echo "Downloading the latest laposte insee data" +echo "" +curl "https://datanova.laposte.fr/explore/dataset/laposte_hexasmal/download/?format=csv&timezone=Europe/Berlin&lang=fr&use_labels_for_header=true&csv_separator=%3B" > "${posteData}" + +cat >"${tmpSql}" <