Autonomie Winscop : Documentation¶
Introduction¶
Ce package fournit l’outillage nécessaire pour générer des fichiers CSV depuis les données de gestion sociale d’une base de données Winscop.
Les fichiers csv générés sont ensuite importable dans la gestion sociale Autonomie.
Les outils suivants sont utilisés
sqlautogen
Utilisé pour la génération des modèles SQLAlchemy depuis une base de données existantes.SQLAlchemy
Pour la description des modèles de données Winscopsqla_inspect
Pour la génération des fichiers csv depuis les modèles, permet la translation et le formattage des donnéesdocker
Pour la génération automatique des fichiers csv depuis le fichier sql
Préparation des données¶
Depuis un dump SQL de la base de données Winscop
- S’assurer que la seule base de données présentes dans le fichier se nomme “winscop” (les scripts docker se base sur ce nom)
Placer le fichier sql dans un répertoire de travail
Pour la suite, nous utiliserons /tmp/winscop_datas/
Génération des fichiers CSV¶
Une fois vos données préparées, vous pouvez générer les fichiers csv.
Téléchargement de autonomie_winscop¶
On va télécharger le logiciel à la racine du home de l’utilisateur courant
cd ~/
git clone https://github.com/CroissanceCommune/autonomie_winscop
Installation de docker¶
Sur les distributions basées sur Debian (Ubuntu, Linux Mint …)
apt-get install docker-io
Sur les distributions utilisant dnf (CentOS, Fedora, RedHat)
dnf install docker-io
Générer l’image docker¶
docker build -t winautonomie ~/autonomie_winscop/docker/
Générer les fichiers csv¶
docker run -t -i -v ~/autonomie_winscop:/mnt/winautonomie \
-v /tmp/winscop_datas:/mnt/autonomie winautonomie
Les fichiers csv sont alors disponibles dans le répertoire /tmp/winscop_datas/processed.
Quelques commandes Docker¶
Lister les containers (instances qui tournent)
docker ps -a
Lister les images docker
docker images
Personnalisation de la génération CSV¶
Dans le répertoire /tmp/winscop_datas/, ajouter un fichier custom.py et fournir un dictionnaire EXPORTS personnalisé :
# -*- coding:utf-8 -*-
from autonomie_winscop.models import MyModel
def format_mymodel_datas(csv_filepath):
"""
Fonction permettant le post-formattage des données dans le fichier csv
Il est possible de lire le fichier, modifier les valeurs et le réécrire
ou effectuer toute autre opération (envoi de mail si on veut changer des
mots de passe à la volée ...)
:param str csv_filepath: Le chemin sur disque vers le fichier csv
"""
pass
EXPORTS = {
'porteurcustom': {
'file': 'porteurs_custom.csv',
'model': MyModel,
['query': MyModel.query().filter(...)],
'formatters':
}
}
Vous pouvez vous inspirer de la configuration dans autonomie_winscop/config.py.
Import csv¶
Pour importer les fichiers csv, utilisez le module d’import dans l’onglet Gestion sociale d’Autonomie.
Les fichiers peuvent être importés un par un. Ils contiennent tous l’identifiant winscop des entrées porteurs de projet.
Par défaut celui-ci est importé comme « Identifiant externe ». Il peut donc être utilisé dans les imports successifs comme champ permettant la correspondance entre les éléments.