Factorisation du code
Closed this issue · 4 comments
La plupart des lignes de code des 3 scripts python sont communs et redondants. Il serait intéressant, maintenant que les fonctionnalités sont bien présentes, d'envisager de créer une appli en ligne de commande (weatherlink2db
?) avec 2 options:
weatherling2db --full
> Téléchargement complet des données historiquesweatherlink2db --update
> Mise à jour des données
@JohanRocheteau, tu peux utiliser click
qui est une petite lib python qui permet facilement de créer des applis en ligne de commande.
J'ai gardé que le fichier global.
J'ai transformé ce fichier en fichier click (je n'ai pas supprimé l'autre encore).
@JohanRocheteau, je viens de créer une petite appli python avec click, si tu veux voir la structuration du projet:
https://github.com/lpoaura/faune-france-global-sensitivity-rules-parser
@lpofredc Merci j'ai modifié les dossiers en conséquence et j'ai divisé le script en deux avec click d'un coté et les définitions de l'autre comme toi.
Top, merci. J'ai apporté quelques modifications à la marge sur les scripts:
- Séparation des options
full
etupdate
en 2 fonctions distinctes
weatherlink2pg/src/weatherlink2pg/main.py
Lines 40 to 67 in 8e101a3
- Packagé les scripts pour les rendre installables via un simple
pip install weatherlink2pg
Line 31 in 8e101a3
Lines 34 to 35 in 8e101a3
- Ajout d'une option
--since
pour limiter les téléchargements complets (ça c'était surtout pour me faciliter les tests ;) - Ajout d'une doc à compléter
https://github.com/lpoaura/weatherlink2pg/tree/main/docs
- Ajout d'actions automatiques GitHub pour:
- Réaliser quelques tests de qualité de code à chaque nouvelles modifs
- Générer automatiquement des nouvelles releases à la création de nouveaux "tags"
- Publier automatiquement la nouvelle version de l'appli à chaque nouvelle release
- Publier automatiquement la "doc officielle" à chaque nouvelle release