Ajout input de confirmation (Y/N) de la saisi.
This commit is contained in:
parent
3c64b98a5c
commit
326aecdfdf
40
NEOBANBOU.py
40
NEOBANBOU.py
@ -487,17 +487,22 @@ def saisir_annee_topo():
|
||||
|
||||
Retourne la valeur saisi.
|
||||
"""
|
||||
print("\nVeuillez saisir l'année de la date du relevé topographique.")
|
||||
print("Pour cela ouvrez la fiche topo du dossier/sous-dossier original.")
|
||||
print("\nVeuillez saisir l'année de la date du relevé géo référencé.")
|
||||
print("Pour cela ouvrez le relevé topographique du dossier/sous-dossier original.")
|
||||
|
||||
correct = False
|
||||
while(not correct):
|
||||
saisi = input("Saisir 4 chiffres : ")
|
||||
saisi = input("Saisir 4 chiffres (ou 0 pour aucune date) : ")
|
||||
if saisi in "0":
|
||||
return ""
|
||||
|
||||
correct = saisi.isdecimal() and len(saisi) == 4
|
||||
|
||||
# Confirmation demandé
|
||||
confirm = input(f"{saisi} : Etes vous sur (Y/N) ? ")
|
||||
if confirm not in ["Y", "y", "O", "o"] :
|
||||
saisir_annee_topo()
|
||||
|
||||
return saisi
|
||||
|
||||
|
||||
@ -777,19 +782,19 @@ def preparer_dossier_travail(projet):
|
||||
if projet.nb_dwgs <= 1 :
|
||||
dest = f"{dossierDWGs}\\{dossier}_Plan_{annee_topo}"
|
||||
else :
|
||||
dest = f"{dossierDWGs}\\{dossier}_IN_Points_{annee_topo}_{letterDWG}"
|
||||
dest = f"{dossierDWGs}\\{dossier}_Plan_{annee_topo}_{letterDWG}"
|
||||
letterDWG = chr(ord(letterDWG)+1)
|
||||
case "SHEMAS":
|
||||
if projet.nb_shemas <= 1 :
|
||||
dest = f"{dossierPDFs}\\{dossier}_Plan_{annee_topo}"
|
||||
else :
|
||||
dest = f"{dossierPDFs}\\{dossier}_IN_Points_{annee_topo}_{letterSHEMAS}"
|
||||
dest = f"{dossierPDFs}\\{dossier}_Plan_{annee_topo}_{letterSHEMAS}"
|
||||
letterSHEMAS = chr(ord(letterSHEMAS)+1)
|
||||
case "TOPO":
|
||||
if projet.nb_releves <= 1 :
|
||||
dest = f"{dossierTOPOs}\\{dossier}_Infos_{annee_topo}"
|
||||
else :
|
||||
dest = f"{dossierTOPOs}\\{dossier}_IN_Points_{annee_topo}_{letterTOPO}"
|
||||
dest = f"{dossierTOPOs}\\{dossier}_Infos_{annee_topo}_{letterTOPO}"
|
||||
letterTOPO = chr(ord(letterTOPO)+1)
|
||||
case _:
|
||||
pass # TODO: voir pour les autres cas, normalement il n'y en a pas pour le moment
|
||||
@ -806,10 +811,6 @@ def preparer_dossier_travail(projet):
|
||||
print("" + fichier.nom.ljust(40,".") + "copié")
|
||||
except shutil.SameFileError as err :
|
||||
print(f"Le fichier existe déjà.")
|
||||
#TODO :
|
||||
# Confirmation par Audrey qu'il n'y a necessairement qu'un fichier CSV par projet --> On peut le renommer.
|
||||
# Mais parfois il peut y avoir plusieurs DWGs dont un seul est utile --> PASS -- Je laisse l'opérateur choisir lequel utiliser et le renommer manuellement. EDIT : Nathalie prefere que tous les fichier DWG soient préfixé avec Plan_
|
||||
#TODO : verifier aussi la longueur des noms de fichiers. Notifier si nécessaire
|
||||
|
||||
|
||||
def controler_longueur_noms(projet):
|
||||
@ -994,13 +995,6 @@ def lire_et_controler_ligne(projet, ligne):
|
||||
return ligne
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def remplir(modele, projet):
|
||||
"""
|
||||
Complète le Visa du projet à partir d'un fichier modele.
|
||||
@ -1055,11 +1049,8 @@ def remplir(modele, projet):
|
||||
|
||||
FRONT['C10'].value = f"Taille totale : {taille:.2f} {unite}."
|
||||
|
||||
|
||||
# TODO: factoriser les instructions ci dessous (pas sur...)
|
||||
|
||||
|
||||
|
||||
### FRONT DWG
|
||||
# Je ne peux pas controler automatiquement la projection du DWG (c'est un binaire illisible hors de AutoCAD)
|
||||
# J'ajoute donc automatiquement la mention comme dans le script précedent.
|
||||
@ -1079,7 +1070,6 @@ def remplir(modele, projet):
|
||||
FRONT['B3'].value = "OK"
|
||||
|
||||
|
||||
|
||||
### FRONT PDF
|
||||
FRONT['C4'].value = f"{projet.nb_shemas} fichier(s) PDF présent(s)."
|
||||
|
||||
@ -1097,7 +1087,6 @@ def remplir(modele, projet):
|
||||
FRONT['B4'].value = "OK"
|
||||
|
||||
|
||||
|
||||
### FRONT CSV
|
||||
FRONT['C5'].value = f"1 fichier(s) CSV présent(s).\n{projet.nb_points} point(s) en RFG93-CC43 (EPSG:3943)."
|
||||
|
||||
@ -1115,7 +1104,6 @@ def remplir(modele, projet):
|
||||
FRONT['B5'].value = "OK"
|
||||
|
||||
|
||||
|
||||
# FRONT FICHE INFO TOPOLOGIE
|
||||
FRONT['C6'].value = f"{projet.nb_releves} fiche(s) Info. présente(s)."
|
||||
|
||||
@ -1133,8 +1121,6 @@ def remplir(modele, projet):
|
||||
FRONT['B6'].value = "OK"
|
||||
|
||||
|
||||
|
||||
|
||||
# Notifier dans les autres Feuilles
|
||||
|
||||
# lignes en cours à remplir pour chaque feuille
|
||||
@ -1254,9 +1240,5 @@ controler_longueur_noms(ce_Projet)
|
||||
remplir(MODELE, ce_Projet)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#Fin de Programme Attendu
|
||||
print("\nProgramme terminé correctement. ")
|
||||
28
README.md
28
README.md
@ -73,29 +73,29 @@ Lignes :
|
||||
- 172-245 : Représentation d'un fichier.
|
||||
- 251-256 : Représentation d'une notification.
|
||||
- 266-328 : Fonction importante qui controle la validité des coordonnées d'un point géographique.
|
||||
- 333-502 : Fonctions E/S sur des chaines de caractères (ex: formater un nom suivant une nomenclature donné, etc)
|
||||
- 511-595 : Représentation du projet.
|
||||
- 608-663 : Fonctions pour obtenir des elements d'environnement pour le projet : date, nom du dossier, etc.
|
||||
- 666-808 : Fonction importante qui crée les dossiers nécessaires et copie les fichiers de travail.
|
||||
- 811-831 : Fonction qui controle la longueur des noms de fichier.
|
||||
- 833-990 : Fonctions importantes qui formate le fichier CSV.
|
||||
- 1004-1169 : Fonction qui génère le Visa de controle.
|
||||
- 333-506 : Fonctions E/S sur des chaines de caractères (ex: formater un nom suivant une nomenclature donné, etc)
|
||||
- 516-604 : Représentation du projet.
|
||||
- 608-672 : Fonctions pour obtenir des elements d'environnement pour le projet : date, nom du dossier, etc.
|
||||
- 675-813 : Fonction importante qui crée les dossiers nécessaires et copie les fichiers de travail.
|
||||
- 816-836 : Fonction qui controle la longueur des noms de fichier.
|
||||
- 838-995 : Fonctions importantes qui formate le fichier CSV.
|
||||
- 998-1155 : Fonction qui génère le Visa de controle.
|
||||
|
||||
#### 4. Exécution du programme
|
||||
|
||||
>Note : Le programme principal parait donc très court car il va ensuite faire appel à toutes les autres fonctions vu plus haut.
|
||||
|
||||
- 1209-1219 : Le programme commence par créer un Projet et définie des valeurs utiles (date, chemin, etc)
|
||||
- 1222 : Le programme parcourt le dossier où se trouve le script et analyse tous les fichiers trouvés (quel est son nom, son extension, est-il est utile pour le projet ? ) et stocke toutes ces infos dans une liste pour être utiliser plus tard.
|
||||
- 1225 : calcule la taille **seulement** des fichiers qui vont être copiés dans le dossier de Travail.
|
||||
- 1229 : reprend la liste créée et décide des dossiers à créer puis y copie les fichiers attendus.
|
||||
- 1241-1245 : le fichier CSV contenant les points est lu. Chaque ligne, contenant une coordonnée, est :
|
||||
- 1195-1205 : Le programme commence par créer un Projet et définie des valeurs utiles (date, chemin, etc)
|
||||
- 1208 : Le programme parcourt le dossier où se trouve le script et analyse tous les fichiers trouvés (quel est son nom, son extension, est-il est utile pour le projet ? ) et stocke toutes ces infos dans une liste pour être utiliser plus tard.
|
||||
- 1211 : calcule la taille **seulement** des fichiers qui vont être copiés dans le dossier de Travail.
|
||||
- 1215 : reprend la liste créée et décide des dossiers à créer puis y copie les fichiers attendus.
|
||||
- 1227-1231 : le fichier CSV contenant les points est lu. Chaque ligne, contenant une coordonnée, est :
|
||||
- analysée, on vérifie de sa projection.
|
||||
- formatée, on corrige certains défauts de syntaxe. Les lignes vides, etc.
|
||||
- ajoutée à une liste. Cette liste est ensuite écrite dans un fichier.
|
||||
|
||||
- ligne 1249 : Le programme controle la longueur de tous les noms de fichiers.
|
||||
- ligne 1254 : finalement le programme crée un visa à partir d'un modèle, et ajoute toutes les informations nécessaires, ainsi que toutes les notifications sur des points de controles qui ne seraient pas passés.
|
||||
- ligne 1235 : Le programme controle la longueur de tous les noms de fichiers.
|
||||
- ligne 1240 : finalement le programme crée un visa à partir d'un modèle, et ajoute toutes les informations nécessaires, ainsi que toutes les notifications sur des points de controles qui ne seraient pas passés.
|
||||
|
||||
### 🛂🚧 Les points de controles réalisés 🚧🛂
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user