Maj script
Le script est fonctionnel, il ne manque plus que la création des dossiers de destination ainsi que la copie des fichiers Ajout .gitignore
This commit is contained in:
parent
c9bfc721d3
commit
eae1be7470
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
# Fichiers exclus du suivi de version
|
||||
VISA_DORY_PRE.xlsx
|
||||
|
||||
#Dossier exclu du suivi de version
|
||||
TEST/
|
||||
11
README.md
11
README.md
@ -15,3 +15,14 @@ NOTES :
|
||||
|
||||
|
||||
David.
|
||||
|
||||
|
||||
|
||||
|
||||
MODE D'EMPLOI
|
||||
|
||||
- Dans un dossier, copier les fichiers 'script_pretraitement_dory.py' et 'modele_VISA_DORY.xlsx'
|
||||
- Dans ce dossier, copier l'archive a traiter (ex: Riverie.zip) et décompresser l'archive
|
||||
- executer le script : Clic Droit --> Ouvrir avec ... --> Idle.exe. Puis F5 pour le démarrer
|
||||
- Une fois terminé, un fichier de rapport 'VISA_DORY_PRE.xlsx'
|
||||
- L'arborescence des dossiers est aussi créé (EN COURS: les dossiers ne sont pas encore créés)
|
||||
Binary file not shown.
BIN
modele_VISA_DORY.xlsx
Normal file
BIN
modele_VISA_DORY.xlsx
Normal file
Binary file not shown.
@ -5,6 +5,7 @@
|
||||
|
||||
|
||||
import os # getcwd(),
|
||||
import openpyxl # gestion et manipulation de fichier Open XML
|
||||
|
||||
|
||||
## TODO : voir le pb des dicos qui auraient plusieurs fois les memes clés (se qui n'est pas possible) à cause de plusieurs fichiers qui auraient la meme extension
|
||||
@ -130,8 +131,8 @@ class _Projet:
|
||||
non_conformes = {},
|
||||
nb_fichiers=0,
|
||||
conformite="Non conforme",
|
||||
projection="Pas de projection",
|
||||
encodage="Pas d'encodage"):
|
||||
projection="Inconnu",
|
||||
encodage="Inconnu"):
|
||||
self.nom = nom # - son nom - string
|
||||
self.necessaires = necessaires
|
||||
self.auxiliaires = auxiliaires
|
||||
@ -173,13 +174,13 @@ class _Projet:
|
||||
"""Récupère la projection des données géomatiques définie.
|
||||
|
||||
Lis la première ligne du fichier *.PRJ du projet
|
||||
et controle la présence de la chaine "RGF_1993_Lambert_93"
|
||||
et controle la présence de la chaine "Lambert_93"
|
||||
"""
|
||||
if "prj" in self.necessaires:
|
||||
df = open(self.necessaires["prj"].chemin)
|
||||
chaine = df.readline()
|
||||
df.close()
|
||||
if "RGF_1993_Lambert_93" in chaine:
|
||||
if "Lambert_93" in chaine:
|
||||
self.projection = "LAMBERT93"
|
||||
else:
|
||||
print(projet.nom, " : pas de PRJ trouvé --> pas de projection définie")
|
||||
@ -297,14 +298,13 @@ for a in os.scandir():
|
||||
if a.is_dir():
|
||||
#il y a un dossier
|
||||
pas_de_dossier = False
|
||||
print(f"Dossier à Traiter trouvé : {a.name}")
|
||||
racine = a
|
||||
if pas_de_dossier:
|
||||
print("Pas de dossier trouvé...\nFin de programme\n")
|
||||
os.system("pause")
|
||||
# fin du programme
|
||||
exit()
|
||||
else:
|
||||
print(f"Dossier à Traiter trouvé : {a.name}")
|
||||
racine = a
|
||||
|
||||
|
||||
# --analyser le dossier
|
||||
@ -389,6 +389,12 @@ os.system("pause")
|
||||
|
||||
# --produire le rapport
|
||||
# créer un classeur Excel
|
||||
# TODO pour le moment je vais partir sur un modele deja ecrit que j'ouvre
|
||||
# Contrainte : l'opérateur doit placer le modèle dans le même dossier racine que le present script
|
||||
classeur = openpyxl.load_workbook("modele_VISA_DORY.xlsx")
|
||||
feuille = classeur.active
|
||||
|
||||
|
||||
# /* Note : peut être utiliser un modèle pré-config */
|
||||
# --mettre en page la première feuille du classeur
|
||||
# inserer une image
|
||||
@ -396,21 +402,49 @@ os.system("pause")
|
||||
# écrire les formules de colorations auto des colonnes
|
||||
|
||||
# Pour chaque projet du dictionnaire Faire
|
||||
ligne_courante = 4
|
||||
for nom_projet, projet in dico.items():
|
||||
# --completer la feuille avec les infos du projet courant
|
||||
# /* Note : Chaque ligne de la feuille correspond à un projet */
|
||||
# /* Utiliser la config fournie en Constante */
|
||||
# écrire le nom du projet
|
||||
cell = feuille["A"+str(ligne_courante)]
|
||||
cell.value = nom_projet
|
||||
print(cell.value)
|
||||
# écrire le type d'extention
|
||||
cell = feuille["B"+str(ligne_courante)]
|
||||
if "shp" in projet.necessaires:
|
||||
# /* Note : ce sera "SHP" pour les projets conformes et le type
|
||||
# natif pour les non-conformes */
|
||||
cell.value = "SHP"
|
||||
else:
|
||||
for extension in projet.non_conformes:
|
||||
cell.value = extension.upper()
|
||||
print(cell.value)
|
||||
# écrire le nombre de fichiers du projet
|
||||
cell = feuille["C"+str(ligne_courante)]
|
||||
cell.value = projet.nb_fichiers
|
||||
# écrire l'encodage
|
||||
cell = feuille["D"+str(ligne_courante)]
|
||||
cell.value = projet.encodage
|
||||
# écrire la projection
|
||||
cell = feuille["E"+str(ligne_courante)]
|
||||
cell.value = projet.projection
|
||||
# écrire la validité (conformité)
|
||||
cell = feuille["F"+str(ligne_courante)]
|
||||
if projet.conformite in "Conforme":
|
||||
cell.value = "OK"
|
||||
else:
|
||||
cell.value = "FAIL"
|
||||
|
||||
ligne_courante+= 1
|
||||
|
||||
# encadrer le "tout" pour délimiter le tableau de la feuille
|
||||
# Fin Pour
|
||||
|
||||
# /* Ici le rapport doit être correctement produit et remplie */
|
||||
classeur.save("VISA_DORY_PRE.xlsx")
|
||||
print("ligne_courante = ", ligne_courante )
|
||||
|
||||
# --produire le dossier de mise à disposition
|
||||
# créer un dossier "Travail" et un dossier "Livraison"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user