diff --git a/Scripts/pyThtoBD/.vscode/settings.json b/Scripts/pyThtoBD/.vscode/settings.json new file mode 100644 index 0000000..d78428a --- /dev/null +++ b/Scripts/pyThtoBD/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "cSpell.words": [ + "alexandre", + "Karsteau" + ] +} \ No newline at end of file diff --git a/Scripts/pyThtoBD/Lib/__pycache__/logger_config.cpython-314.pyc b/Scripts/pyThtoBD/Lib/__pycache__/logger_config.cpython-314.pyc new file mode 100644 index 0000000..b9c82be Binary files /dev/null and b/Scripts/pyThtoBD/Lib/__pycache__/logger_config.cpython-314.pyc differ diff --git a/Scripts/pyThtoBD/Lib/__pycache__/therion.cpython-314.pyc b/Scripts/pyThtoBD/Lib/__pycache__/therion.cpython-314.pyc new file mode 100644 index 0000000..068d32b Binary files /dev/null and b/Scripts/pyThtoBD/Lib/__pycache__/therion.cpython-314.pyc differ diff --git a/Scripts/pyThtoBD/README.rst b/Scripts/pyThtoBD/README.rst index 1c9c2de..e0ad332 100644 --- a/Scripts/pyThtoBD/README.rst +++ b/Scripts/pyThtoBD/README.rst @@ -1,25 +1,29 @@ **************************************************************************** -Export db Therion <--> db KARSTEAU +Script d'export db Therion <--> db KARSTEAU *************************************************************************** +!!! En cours de développement !!! + Créer manuellement dans chaque dossier d'une cavité à exporter un fichier export_bd.ini - vide au début - - après exécution du script contient l'ID Therion de la cavité à exporter + - après exécution du script contient l'ID Therion de la cavité à exporter (dans Export_bd.bd base CAVITE) Résultats dans le dossier /Outputs/Export_bd de la db Therion : - - Export_bd.log : log de l'export - - Export_bd.bd : base de données de transfert - - Export_bd.xlxs : fichier excel pour l'export vers Karsteau - - Export_bd.zip : archive brute des données Therion + - Export_bd.log : log de l'export + - Export_bd.bd : base de données de transfert KARSTEAU <-> THERION + - Export_bd.xlxs : fichier excel pour l'export vers Karsteau + - Export_bd.zip : archive brute des données Therion - Export_bd_data.zip : archive des documents à exporter vers Karsteau -Commande : python pyToBD.py --help +Commande : python pyThtoBD.py --help !!! Aide, liste des commandes + python pyThtoBD.py --folder ./Test/ !!! export de la base Therion de ./Test/ + python pyThtoBD.py !!! sélection du dossier Therion à exporter via une fenêtre tkinter ============================== Table des données exportées : ============================== -Cavité (la liste est générée automatiquement en recherchant dans les dossiers les fichiers export_bd.ini copiés manuellement) +Table des cavités (la liste est générée automatiquement en recherchant dans les dossiers les fichiers export_bd.ini copiés manuellement) ----------------------------------------------------------------------------------------------------------- CAVITE_ID : Clé interne de la cavité (unique, entier, génération par le script) CAVITE_NAME : Nom de la cavité (via la valeur -title de la survey du fichier _tot.th du dossier contenant la cavité) @@ -34,8 +38,13 @@ CAVITE_KEY_KARSTEAU : Retour Karsteau, clé unique d'identification de la c CAVITE_HASH_SQL_FILE : Hash du fichier sql de la cavité pour gérer les modifications CAVITE_DATE_UPDATE : Date de mise à jour de la cavité (date d'execution du script) +CAVITE_NATURE : à voir !!! Pas dispo dans Therion +CAVITE_AUTEUR_SPELEO_M : à voir !!! Pas dispo dans Therion +CAVITE_DATE_SPELEO_M : à voir, ajouter date du calcul Therion +CAVITE_CODE_HYDRO : à voir !!! Pas dispo dans Therion +CAVITE_SYS_HYDRO : à voir !!! Pas dispo dans Therion -Entrées (la liste des entrées est générée après l'exécution du thconfig de la cavité via le fichier sql généré) +Table des entrées (la liste des entrées est générée après l'exécution du thconfig de la cavité via le fichier sql généré) --------------------------------------------------------------------------------------------------------------- ENT_ID : Clé interne de l'entrée (unique, entier, génération par le script) ENT_ID_CAVITE : Clé interne de la cavité associée (génération par le script) @@ -52,17 +61,24 @@ ENT_COORD_Y : Coordonnée Y de l'entrée (via le fichier .sql de la ENT_COORD_Z : Coordonnée Z de l'entrée (via le fichier .sql de la cavité) ENT_UNIT_COORD : Unité des coordonnées (m/km), toujours 'm' ENT_SYS_COORD : Système de coordonnée, (exemple UTM31, via le fichier .log de la cavité) -ENT_ZONE_COORD : Zone de Coordonnée !!! A voir comment remplir +ENT_ZONE_COORD : Zone de coordonnée !!! A voir comment remplir ENT_METHODE_COORD : Méthode d'obtention de la coordonnée !!! Pas dispo dans Therion ENT_SOURCE_COORD : Source de la coordonnée (toujours 'Topo Therion) !!! Pas dispo dans Therion -ENT_DATE_COORD : Date de la coordonnée !!! A voir comment remplir !!! Pas dispo dans Therion -ENT_ACCES_LIBRE : Accès à la donnée dans Karsteau, par défaut 'N' (accès aves mdp) +ENT_DATE_COORD : Date de la coordonnée !!! A voir comment remplir !!! Pas dispo dans Therion +ENT_ACCES_LIBRE : Accès à la donnée dans Karsteau, par défaut 'N' (accès avec mot de passe) ENT_PATH : Interne au script pour identifier l'entrée, chemin vers la station de l'entrée (exemple : 00@Cap_Coutun) ENT_KEY_KARSTEAU : Retour Karsteau, clé unique d'identification de l'entrée ENT_DATE_UPDATE : Date de mise à jour de l'entrée (date d'exécution du script) +ENT_CODE_SECTEUR : Code secteur, à voir !!! Pas dispo dans Therion +ENT_NOM_SECTEUR : Nom du secteur, à voir !!! Pas dispo dans Therion +ENT_CODE_ZONE : Code zone, à voir !!! Pas dispo dans Therion +ENT_NOM_ZONE : Nom du zone, à voir !!! Pas dispo dans Therion +ENT_PAYS : Nom du pays, a générer automatiquement car pas dispo dans Therion +ENT_NOM_COMMUNE : Nom de la commune, a générer automatiquement car pas dispo dans Therion +ENT_CODE_COMMUNE : Code INSEE de la commune, a générer automatiquement car pas dispo dans Therion -Documents (Dans le dossier Outputs de la cavité, type pdf, kml et zip des données Therion) +Table des documents (Dans le dossier Outputs de la cavité, type pdf, kml et zip des données Therion) ----------------------------------------------------------------------------------------------------------- DOCUMENT_x_ID : Clé interne du document (unique, entier, génération par le script) DOCUMENT_x_AUTEUR : Auteur du document (via exif du pdf, à voir pour les autres types) diff --git a/Scripts/pyThtoBD/pyThtoBD.py b/Scripts/pyThtoBD/pyThtoBD.py index 359c513..dbffc6c 100644 --- a/Scripts/pyThtoBD/pyThtoBD.py +++ b/Scripts/pyThtoBD/pyThtoBD.py @@ -1,24 +1,47 @@ # -*- coding: utf-8 -*- +''' ######################################################################################################################################## # # -# Script exporter une base de donnée therion vers un BD type Karsteau # +# Script pour exporter une base de donnée Therion vers un BD type Karsteau # # # -# By Alexandre PONT alexandre.pont@yahoo.fr # +# By Alexandre PONT alexandre (point) pont (AT) yahoo (point) fr # # # -# Commande : python pyThtoBD.py --help # +# Commande : python pyThtoBD.py --help !!! Aide, liste des commandes # +# python pyThtoBD.py --folder ./Test/ !!! export de la base Therion de ./Test/ # +# python pyThtoBD.py !!! sélection du dossier Therion à exporter via une fenêtre tkinter # # # # Utilisation: # # 1 : Placer des fichiers vides "Export_bd.ini" dans chacun des dossiers des cavités à exporter # -# 2 : Lancer python pyThtoBD.py, sélectionner le dossier therion à exporter # +# 2 : Lancer python pyThtoBD.py, sélectionner le dossier Therion à exporter # # 3 : Résultats pour Karsteau dans le dossier /Outputs/Export_bd/ # # 4 : (A venir - Importer le résultat de l'importation dans Karsteau ) # # # # # ######################################################################################################################################## +''' ''' To do list : + - Mettre les dates au format DD/MM/AAAA dans excel + - Supprimer les caractères spéciaux dans les noms de cavités + - Ajouter et remplir dans les entrées + ENT_CODE_SECTEUR : Code secteur, à voir !!! Pas dispo dans Therion + ENT_NOM_SECTEUR : Nom du secteur, à voir !!! Pas dispo dans Therion + ENT_CODE_ZONE : Code zone, à voir !!! Pas dispo dans Therion + ENT_NOM_ZONE : Nom du zone, à voir !!! Pas dispo dans Therion + ENT_PAYS : Nom du pays, a générer automatiquement car pas dispo dans Therion + ENT_NOM_COMMUNE : Nom de la commune, a générer automatiquement car pas dispo dans Therion + ENT_CODE_COMMUNE : Code INSEE de la commune, a générer automatiquement car pas dispo dans Therion + - Remplir Document_xxx_TEXT + - Remplir dans les cavité la spéléométrie, l'auteur... + CAVITE_NATURE : à voir !!! Pas dispo dans Therion + CAVITE_AUTEUR_SPELEO_M : à voir !!! Pas dispo dans Therion + CAVITE_DATE_SPELEO_M : à voir, ajouter date du calcul Therion + CAVITE_CODE_HYDRO : à voir !!! Pas dispo dans Therion + CAVITE_SYS_HYDRO : à voir !!! Pas dispo dans Therion + - Mettre en place un fichier de valeurs par défaut par projet + - Vérifier pour ne pas faire de doublon d'export à chaque exécution du script (ne pas exporter si pas de changement) - Fonction pour importer les clés Karsteau - Refaire une fonction de calcul de développement/profondeur depuis fichier sql @@ -1345,7 +1368,7 @@ if __name__ == '__main__': log.warning(f"""Nbre de point(s) fixe trouvé(s) : {Colors.MAGENTA}{warning_fix}{Colors.YELLOW}, vérifier : une entrée doit avoir l'attribut type {Colors.MAGENTA}station 0 "Entrée XXXX" entrance{Colors.YELLOW} lors de sa déclaration""") if error_count > 0 : - log.error(f"""Nbre d'erreur(s) trouvé(s) : {Colors.MAGENTA}{error_count}{Colors.YELLOW}, à vérifier""") + log.error(f"""Nbre d'erreur(s) trouvé(s) : {Colors.MAGENTA}{error_count}{Colors.YELLOW}, à vérifier""") else : log.info("Fin normale de l'execution du script, aucune d'erreur trouvée, fichier d'excel d'export disponible, parfait !") diff --git a/Scripts/pyThtoBD/test/Data/Gypse/Cenotes_check-point/Outputs/Karabulak Gypsum Collapses.zip b/Scripts/pyThtoBD/test/Data/Gypse/Cenotes_check-point/Outputs/Karabulak Gypsum Collapses.zip index 7d1091c..b394d27 100644 Binary files a/Scripts/pyThtoBD/test/Data/Gypse/Cenotes_check-point/Outputs/Karabulak Gypsum Collapses.zip and b/Scripts/pyThtoBD/test/Data/Gypse/Cenotes_check-point/Outputs/Karabulak Gypsum Collapses.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Gypse/Grotte_du_lac/Outputs/Grotte du lac.zip b/Scripts/pyThtoBD/test/Data/Gypse/Grotte_du_lac/Outputs/Grotte du lac.zip index e08e767..c63605b 100644 Binary files a/Scripts/pyThtoBD/test/Data/Gypse/Grotte_du_lac/Outputs/Grotte du lac.zip and b/Scripts/pyThtoBD/test/Data/Gypse/Grotte_du_lac/Outputs/Grotte du lac.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Gypse/Kaptarkhana/Outputs/Kaptarkhana.zip b/Scripts/pyThtoBD/test/Data/Gypse/Kaptarkhana/Outputs/Kaptarkhana.zip index 00d6813..f72dce4 100644 Binary files a/Scripts/pyThtoBD/test/Data/Gypse/Kaptarkhana/Outputs/Kaptarkhana.zip and b/Scripts/pyThtoBD/test/Data/Gypse/Kaptarkhana/Outputs/Kaptarkhana.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Gypse/New_collapse_2022/Outputs/New collapse 2022.zip b/Scripts/pyThtoBD/test/Data/Gypse/New_collapse_2022/Outputs/New collapse 2022.zip index fb8ca39..b55df4f 100644 Binary files a/Scripts/pyThtoBD/test/Data/Gypse/New_collapse_2022/Outputs/New collapse 2022.zip and b/Scripts/pyThtoBD/test/Data/Gypse/New_collapse_2022/Outputs/New collapse 2022.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Gypse/Russes-CA/Outputs/Russes-CA.zip b/Scripts/pyThtoBD/test/Data/Gypse/Russes-CA/Outputs/Russes-CA.zip index 0dd8b8c..77eefaa 100644 Binary files a/Scripts/pyThtoBD/test/Data/Gypse/Russes-CA/Outputs/Russes-CA.zip and b/Scripts/pyThtoBD/test/Data/Gypse/Russes-CA/Outputs/Russes-CA.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Gypse/Suwly-oyuk/Outputs/Suwly-oyuk.zip b/Scripts/pyThtoBD/test/Data/Gypse/Suwly-oyuk/Outputs/Suwly-oyuk.zip index c8ca186..35dc978 100644 Binary files a/Scripts/pyThtoBD/test/Data/Gypse/Suwly-oyuk/Outputs/Suwly-oyuk.zip and b/Scripts/pyThtoBD/test/Data/Gypse/Suwly-oyuk/Outputs/Suwly-oyuk.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Koyten/Data/Chauve-Souris/Outputs/Grotte des Chauves-Souris.zip b/Scripts/pyThtoBD/test/Data/Koyten/Data/Chauve-Souris/Outputs/Grotte des Chauves-Souris.zip index 0e5bc00..20c580a 100644 Binary files a/Scripts/pyThtoBD/test/Data/Koyten/Data/Chauve-Souris/Outputs/Grotte des Chauves-Souris.zip and b/Scripts/pyThtoBD/test/Data/Koyten/Data/Chauve-Souris/Outputs/Grotte des Chauves-Souris.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Koyten/Data/Petit-General/Outputs/Petit-General.zip b/Scripts/pyThtoBD/test/Data/Koyten/Data/Petit-General/Outputs/Petit-General.zip index e409b80..547a0fd 100644 Binary files a/Scripts/pyThtoBD/test/Data/Koyten/Data/Petit-General/Outputs/Petit-General.zip and b/Scripts/pyThtoBD/test/Data/Koyten/Data/Petit-General/Outputs/Petit-General.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Nord/Ahmethan/Outputs/Hanaka.zip b/Scripts/pyThtoBD/test/Data/Nord/Ahmethan/Outputs/Hanaka.zip index 45e6417..93ec6bf 100644 Binary files a/Scripts/pyThtoBD/test/Data/Nord/Ahmethan/Outputs/Hanaka.zip and b/Scripts/pyThtoBD/test/Data/Nord/Ahmethan/Outputs/Hanaka.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Sud/Data/Chevres/Outputs/Grotte des Chèvres.zip b/Scripts/pyThtoBD/test/Data/Sud/Data/Chevres/Outputs/Grotte des Chèvres.zip index 994a406..e9ee38b 100644 Binary files a/Scripts/pyThtoBD/test/Data/Sud/Data/Chevres/Outputs/Grotte des Chèvres.zip and b/Scripts/pyThtoBD/test/Data/Sud/Data/Chevres/Outputs/Grotte des Chèvres.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Sud/Data/Gap-Gotan/Outputs/Gap-Gotan.zip b/Scripts/pyThtoBD/test/Data/Sud/Data/Gap-Gotan/Outputs/Gap-Gotan.zip index 4aaea98..b283519 100644 Binary files a/Scripts/pyThtoBD/test/Data/Sud/Data/Gap-Gotan/Outputs/Gap-Gotan.zip and b/Scripts/pyThtoBD/test/Data/Sud/Data/Gap-Gotan/Outputs/Gap-Gotan.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Sud/Data/Geophysicheskaya/Outputs/Gulshirin (Geophysicheskaya).zip b/Scripts/pyThtoBD/test/Data/Sud/Data/Geophysicheskaya/Outputs/Gulshirin (Geophysicheskaya).zip index f0a3a24..3aa6b45 100644 Binary files a/Scripts/pyThtoBD/test/Data/Sud/Data/Geophysicheskaya/Outputs/Gulshirin (Geophysicheskaya).zip and b/Scripts/pyThtoBD/test/Data/Sud/Data/Geophysicheskaya/Outputs/Gulshirin (Geophysicheskaya).zip differ diff --git a/Scripts/pyThtoBD/test/Data/Sud/Data/Hashim-oyuk/Outputs/Hashim-oyuk.zip b/Scripts/pyThtoBD/test/Data/Sud/Data/Hashim-oyuk/Outputs/Hashim-oyuk.zip index b3d552d..49338db 100644 Binary files a/Scripts/pyThtoBD/test/Data/Sud/Data/Hashim-oyuk/Outputs/Hashim-oyuk.zip and b/Scripts/pyThtoBD/test/Data/Sud/Data/Hashim-oyuk/Outputs/Hashim-oyuk.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Sud/Data/Tush-Yurruck/Outputs/Tush-Yurruck.zip b/Scripts/pyThtoBD/test/Data/Sud/Data/Tush-Yurruck/Outputs/Tush-Yurruck.zip index 14dc734..3a7faa8 100644 Binary files a/Scripts/pyThtoBD/test/Data/Sud/Data/Tush-Yurruck/Outputs/Tush-Yurruck.zip and b/Scripts/pyThtoBD/test/Data/Sud/Data/Tush-Yurruck/Outputs/Tush-Yurruck.zip differ diff --git a/Scripts/pyThtoBD/test/Data/Sud/Data/Vertikalnaya/Outputs/Vertikalnaya.zip b/Scripts/pyThtoBD/test/Data/Sud/Data/Vertikalnaya/Outputs/Vertikalnaya.zip index 6b7e863..911559d 100644 Binary files a/Scripts/pyThtoBD/test/Data/Sud/Data/Vertikalnaya/Outputs/Vertikalnaya.zip and b/Scripts/pyThtoBD/test/Data/Sud/Data/Vertikalnaya/Outputs/Vertikalnaya.zip differ diff --git a/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.db b/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.db index 31fb013..c41048e 100644 Binary files a/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.db and b/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.db differ diff --git a/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.xlsx b/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.xlsx index 9a5294e..03db658 100644 Binary files a/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.xlsx and b/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.xlsx differ diff --git a/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.zip b/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.zip index 7217573..84cc8c1 100644 Binary files a/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.zip and b/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd.zip differ diff --git a/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd_data.zip b/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd_data.zip index 4b3f335..b80d558 100644 Binary files a/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd_data.zip and b/Scripts/pyThtoBD/test/Outputs/Export_bd/Export_bd_data.zip differ