From 35d3675956f0e31f5dd3c7d1ab3b31df1df6b6f0 Mon Sep 17 00:00:00 2001 From: eficas <> Date: Thu, 10 Mar 2005 09:25:30 +0000 Subject: [PATCH] CCAR correction dans la prise en compte des fichiers poursuites multiples (emboites). Avant cette correction, les fichiers poursuites etaient reevalues un grand nombre de fois (geometrique ?). Pour 3 fichiers poursuite on pouvait avoir plus de 9 reevaluations. Apres correction, le nombre d'evaluation est egal au nombre de fichiers. --- Editeur/compomacro.py | 3 ++- Ihm/I_ETAPE.py | 1 - Ihm/I_MACRO_ETAPE.py | 10 ++++++---- Ihm/I_PROC_ETAPE.py | 1 - 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Editeur/compomacro.py b/Editeur/compomacro.py index 92e87d47..5f8861fa 100644 --- a/Editeur/compomacro.py +++ b/Editeur/compomacro.py @@ -37,7 +37,7 @@ from widgets import showinfo,showerror # __version__="$Name: $" -__Id__="$Id: compomacro.py,v 1.13 2004/09/10 15:51:49 eficas Exp $" +__Id__="$Id: compomacro.py,v 1.14 2004/09/20 09:24:14 eficas Exp $" # class MACROPanel(panels.OngletPanel): @@ -196,6 +196,7 @@ class MACROPanel(panels.OngletPanel): # L'evaluation de text dans un JDC auxiliaire s'est bien passé # on peut poursuivre le traitement self.node.item.object.init_modif() + self.node.item.object.state="undetermined" self.node.item.object.fichier_ini = new_fic self.node.item.object.fichier_text=text self.node.item.object.fichier_err=None diff --git a/Ihm/I_ETAPE.py b/Ihm/I_ETAPE.py index 2eb9f234..4f3c092e 100644 --- a/Ihm/I_ETAPE.py +++ b/Ihm/I_ETAPE.py @@ -338,7 +338,6 @@ class ETAPE(I_MCCOMPO.MCCOMPO): """ try: sd=Noyau.N_ETAPE.ETAPE.Build_sd(self,nom) - self.state="modified" except AsException,e: # Une erreur s'est produite lors de la construction du concept # Comme on est dans EFICAS, on essaie de poursuivre quand meme diff --git a/Ihm/I_MACRO_ETAPE.py b/Ihm/I_MACRO_ETAPE.py index 06f71488..8f21a688 100644 --- a/Ihm/I_MACRO_ETAPE.py +++ b/Ihm/I_MACRO_ETAPE.py @@ -109,14 +109,16 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): CONTEXT.set_current_step(self) raise Exception("Impossible de relire le fichier\n"+str(j.cr)) - cr=j.report() - if not cr.estvide(): + if not j.isvalid(): # L'INCLUDE n'est pas valide. + # on produit un rapport d'erreurs # On force le contexte (etape courante) à self + cr=j.report() CONTEXT.unset_current_step() CONTEXT.set_current_step(self) - raise Exception("Le fichier include contient des erreurs\n"+str(j.cr)) + raise Exception("Le fichier include contient des erreurs\n"+str(cr)) + # Si aucune erreur rencontrée # On recupere le contexte de l'include verifie try: j_context=j.get_verif_contexte() @@ -477,6 +479,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): # la commande modifies. Ceci peut conduire a la construction ou # a la reconstruction d'etapes dans le cas d'INCLUDE ou d'INCLUDE_MATERIAU # Il faut donc positionner le current_step avant l'appel + if self.state == "undetermined":return 1 CONTEXT.unset_current_step() CONTEXT.set_current_step(self) valid=Validation.V_MACRO_ETAPE.MACRO_ETAPE.update_sdprod(self,cr=cr) @@ -491,7 +494,6 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): """ try: sd=Noyau.N_MACRO_ETAPE.MACRO_ETAPE.Build_sd(self,nom) - self.state="modified" except AsException,e: # Une erreur s'est produite lors de la construction du concept # Comme on est dans EFICAS, on essaie de poursuivre quand meme diff --git a/Ihm/I_PROC_ETAPE.py b/Ihm/I_PROC_ETAPE.py index ab9ca5d0..d69cc9a7 100644 --- a/Ihm/I_PROC_ETAPE.py +++ b/Ihm/I_PROC_ETAPE.py @@ -74,7 +74,6 @@ class PROC_ETAPE(I_ETAPE.ETAPE): """ try: sd=Noyau.N_PROC_ETAPE.PROC_ETAPE.Build_sd(self) - self.state="modified" except AsException,e: # Une erreur s'est produite lors de la construction du concept # Comme on est dans EFICAS, on essaie de poursuivre quand meme -- 2.39.2