Ajout fonctionnalités :

- Détection et notification VISA de la présence d'ancien type de point
  dans le CSV. Pour le moment les anciens type sont : "AUT" et "ABCE".

- Pour plus de clarté : le programme n'affiche plus les notifications
  dans la console. Elles seront seulement présentent dans le VISA.
This commit is contained in:
David Castex 2025-09-11 11:53:49 +02:00
parent d65b146fde
commit 3c64b98a5c
2 changed files with 22 additions and 11 deletions

View File

@ -547,6 +547,10 @@ class _Projet:
def notifier(self, categorie, texte): def notifier(self, categorie, texte):
""" """
Ajoute une notification au _Projet 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("\n_Projet.notifier()")
print(f"Incident ajouté :{texte} ") print(f"Incident ajouté :{texte} ")
@ -980,6 +984,11 @@ def lire_et_controler_ligne(projet, ligne):
projet.notifs.append(incident) projet.notifs.append(incident)
projet.controles |= 2**2 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}"') #print(f'SORTIE : "{ligne}"')
return ligne return ligne

View File

@ -78,24 +78,24 @@ Lignes :
- 608-663 : Fonctions pour obtenir des elements d'environnement pour le projet : date, nom du dossier, etc. - 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. - 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. - 811-831 : Fonction qui controle la longueur des noms de fichier.
- 833-985 : Fonctions importantes qui formate le fichier CSV. - 833-990 : Fonctions importantes qui formate le fichier CSV.
- 995-1060 : Fonction qui génère le Visa de controle. - 1004-1169 : Fonction qui génère le Visa de controle.
#### 4. Exécution du programme #### 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. >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) - 1209-1219 : 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. - 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.
- 1216 : calcule la taille **seulement** des fichiers qui vont être copiés dans le dossier de Travail. - 1225 : 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. - 1229 : 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 : - 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. - analysée, on vérifie de sa projection.
- formatée, on corrige certains défauts de syntaxe. Les lignes vides, etc. - 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. - 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 1249 : 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 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 🚧🛂 ### 🛂🚧 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 📖 ## 🎍 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. 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...).* *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 🔧 ### 🔧 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é Pour lancer les tests, il faudra préalablement installer un environnement de travail isolé
```bash ```bash