diff --git a/NEOBANBOU.py b/NEOBANBOU.py index fa53419..c11775f 100644 --- a/NEOBANBOU.py +++ b/NEOBANBOU.py @@ -547,6 +547,10 @@ class _Projet: def notifier(self, categorie, texte): """ Ajoute une notification au _Projet + + La catégorie est soit "PDF", "CSV", "DWG" pour notifier dans la + feuille correspondante. Une chaine personnalisée notifiera dans la + feuille FRONT. """ print("\n_Projet.notifier()") print(f"Incident ajouté :{texte} ") @@ -790,7 +794,7 @@ def preparer_dossier_travail(projet): case _: pass # TODO: voir pour les autres cas, normalement il n'y en a pas pour le moment - # renomme le fichier en conséquence + # renomme le fichier en conséquence fichier.nom = os.path.basename(dest) dest = dest + f".{fichier.extension}" @@ -979,6 +983,11 @@ def lire_et_controler_ligne(projet, ligne): incident = _Notification("CSV", f"Point ID {id_point} : Mauvaise projection") projet.notifs.append(incident) projet.controles |= 2**2 + + # controle la présence d'ancien type de point et notifie + if type_ in ["AUT", "ABCE"] : + incident = _Notification("CSV", f"Point ID {id_point} : Ancien TYPE : {type_}") + projet.notifs.append(incident) #print(f'SORTIE : "{ligne}"') diff --git a/README.md b/README.md index 4617427..2f78dd8 100644 --- a/README.md +++ b/README.md @@ -78,24 +78,24 @@ Lignes : - 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-985 : Fonctions importantes qui formate le fichier CSV. -- 995-1060 : Fonction qui génère le Visa de controle. +- 833-990 : Fonctions importantes qui formate le fichier CSV. +- 1004-1169 : 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. -- 1200-1210 : Le programme commence par créer un Projet et définie des valeurs utiles (date, chemin, etc) -- 1213 : 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. -- 1216 : calcule la taille **seulement** des fichiers qui vont être copiés dans le dossier de Travail. -- 1220 : reprend la liste créée et décide des dossiers à créer puis y copie les fichiers attendus. -- 1232-1236 : le fichier CSV contenant les points est lu. Chaque ligne, contenant une coordonnée, est : +- 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 : - 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 1240 : Le programme controle la longueur de tous les noms de fichiers. -- ligne 1245 : 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 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. ### 🛂🚧 Les points de controles réalisés 🚧🛂 @@ -132,7 +132,7 @@ Un projet doit necessairement comporter au moins ces 4 fichiers : ## 🎍 A l'attention des utilisateurs avancés 📖 -J'ai considéré l'écriture de ce script comme un exercice d'algorithmie et de d'apprentissage du Python. +J'ai considéré l'écriture de ce script comme un exercice d'algorithmie et d'apprentissage du langage Python. De ce point de vue, il y a certainement beaucoup d'optimisation. *C'est vrai ça : Pourquoi s'embêter à faire des classes pour des objets qui ont deja nativement dans le langage des classes et méthodes ( wtf une classe _Fichier ??), ou alors pourquoi implementer une variable binaire pour comptabiliser les controles ? (alors que de simples variables ou une liste de variables aurait pu aussi bien fait l'affaire...).* @@ -147,6 +147,8 @@ Notez également qu'il n'y a eu aucun recours à de l'IA. L'exercice consistait ### 🔧 Lancer les Tests 🔧 +> Avertissement : la version modulaire n'est plus à jour. Les tests sont donc réalisés sur des fichiers anciens. + Pour lancer les tests, il faudra préalablement installer un environnement de travail isolé ```bash