]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
accentuation
authorPascale Noyret <pascale.noyret@edf.fr>
Thu, 3 Jun 2010 09:53:09 +0000 (09:53 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Thu, 3 Jun 2010 09:53:09 +0000 (09:53 +0000)
Ihm/I_ETAPE.py

index 809fa3d522339c3eb8d59cfdbeee57670fb49965..b8b076bf1d3c4bf3ade6eeb0f8961f08aa535058 100644 (file)
@@ -28,13 +28,13 @@ from copy import copy
 # Objet re pour controler les identificateurs Python
 concept_re=re.compile(r'[a-zA-Z_]\w*$')
 
-# import rajoutés suite à l'ajout de Build_sd --> à résorber
+# import rajoutés suite à l'ajout de Build_sd --> à résorber
 import traceback
 import Noyau
 from Noyau import N_Exception
 from Noyau.N_Exception import AsException
 import Validation
-# fin import à résorber
+# fin import à résorber
 
 # Modules EFICAS
 import I_MCCOMPO
@@ -54,7 +54,7 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
       else:
         if self.sd:sdname=self.sd.get_name()
       if string.find(sdname,'sansnom') != -1 or string.find(sdname,'SD_') != -1:
-        # dans le cas où la SD est 'sansnom' ou 'SD_' on retourne la chaîne vide
+        # dans le cas où la SD est 'sansnom' ou 'SD_' on retourne la chaîne vide
         return ''
       return sdname
 
@@ -66,12 +66,12 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
 
    def init_modif(self):
       """
-         Met l'état de l'étape à : modifié
+         Met l'état de l'étape à : modifié
          Propage la modification au parent
       """
-      # init_modif doit etre appelé avant de réaliser une modification
-      # La validité devra etre recalculée apres cette modification
-      # mais dans l'appel à fin_modif pour préserver l'état modified
+      # init_modif doit etre appelé avant de réaliser une modification
+      # La validité devra etre recalculée apres cette modification
+      # mais dans l'appel à fin_modif pour préserver l'état modified
       # de tous les objets entre temps
       #print "init_modif",self,self.parent
       self.state = 'modified'
@@ -80,8 +80,8 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
 
    def fin_modif(self):
       """
-          Méthode appelée une fois qu'une modification a été faite afin de 
-          déclencher d'éventuels traitements post-modification
+          Méthode appelée une fois qu'une modification a été faite afin de 
+          déclencher d'éventuels traitements post-modification
           ex : INCLUDE et POURSUITE
           Ne pas mettre de traitement qui risque d'induire des recursions (soit a peu pres rien)
       """
@@ -91,12 +91,12 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
 
    def nomme_sd(self,nom) :
       """
-          Cette méthode a pour fonction de donner un nom (nom) au concept 
-          produit par l'étape (self).
-            - si le concept n'existe pas, on essaye de le créer (à condition que l'étape soit valide ET non réentrante)
-            - si il existe déjà, on le renomme et on répercute les changements dans les autres étapes    
+          Cette méthode a pour fonction de donner un nom (nom) au concept 
+          produit par l'étape (self).
+            - si le concept n'existe pas, on essaye de le créer (à condition que l'étape soit valide ET non réentrante)
+            - si il existe déjà, on le renomme et on répercute les changements dans les autres étapes    
           Les valeurs de retour sont :
-            - 0 si le nommage n'a pas pu etre mené à son terme,
+            - 0 si le nommage n'a pas pu etre mené à son terme,
             - 1 dans le cas contraire
       """
       # Le nom d'un concept doit etre un identificateur Python (toujours vrai ?)
@@ -104,15 +104,15 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
          return 0,"Un nom de concept doit etre un identificateur Python"
 
       if len(nom) > 8 and self.jdc.definition.code == 'ASTER':
-        return 0,"Nom de concept trop long (maxi 8 caractères)"
+        return 0,"Nom de concept trop long (maxi 8 caractères)"
 
       self.init_modif()
       #
       # On verifie d'abord si les mots cles sont valides
       #
-      if not self.isvalid(sd='non') : return 0,"Nommage du concept refusé : l'opérateur n'est pas valide"
+      if not self.isvalid(sd='non') : return 0,"Nommage du concept refusé : l'opérateur n'est pas valide"
       #
-      # Cas particulier des opérateurs obligatoirement réentrants
+      # Cas particulier des opérateurs obligatoirement réentrants
       #
       if self.definition.reentrant == 'o':
         self.sd = self.reuse = self.jdc.get_sd_avant_etape(nom,self)
@@ -121,32 +121,32 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
           self.fin_modif()
           return 1,"Concept existant"
         else:
-          return 0,"Opérateur réentrant mais concept non existant"
+          return 0,"Opérateur réentrant mais concept non existant"
       #
-      # Cas particulier des opérateurs facultativement réentrants
+      # Cas particulier des opérateurs facultativement réentrants
       #
       old_reuse=None
       if self.definition.reentrant == 'f' :
         sd = self.jdc.get_sd_avant_etape(nom,self)
         if sd != None :
-          # FR : il faut tester que la sd trouvée est du bon type !!!!!!!!!!!!!!!!!
+          # FR : il faut tester que la sd trouvée est du bon type !!!!!!!!!!!!!!!!!
           if isinstance(sd,self.get_type_produit()) :
              self.sd = self.reuse = sd
              self.sdnom = sd.nom
              self.fin_modif()
-             return 1,"Opérateur facultativement réentrant et concept existant trouvé"
+             return 1,"Opérateur facultativement réentrant et concept existant trouvé"
           else:
-             return 0,"Concept déjà existant et de mauvais type"
+             return 0,"Concept déjà existant et de mauvais type"
         else :
           # il faut enlever le lien vers une SD existante car si on passe ici
-          # cela signifie que l'opérateur n'est pas utilisé en mode réentrant.
-          # Si on ne fait pas cela, on risque de modifier une SD produite par un autre opérateur
+          # cela signifie que l'opérateur n'est pas utilisé en mode réentrant.
+          # Si on ne fait pas cela, on risque de modifier une SD produite par un autre opérateur
           if self.reuse :
              old_reuse=self.reuse
              self.sd = self.reuse = self.sdnom = None
       #
-      # On est dans le cas ou l'opérateur n'est pas réentrant ou est facultativement reentrant
-      # mais est utilisé en mode non réentrant
+      # On est dans le cas ou l'opérateur n'est pas réentrant ou est facultativement reentrant
+      # mais est utilisé en mode non réentrant
       #
       if self.sd == None :
           #Pas de concept produit preexistant
@@ -159,8 +159,8 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
             return 0,"Nommage du concept refuse : un concept de meme nom existe deja"
           else:
             # Il n'existe pas de concept de ce nom dans le voisinage de l'etape courante
-            # On peut donc créer le concept retourné.
-            # Il est créé sans nom mais enregistré dans la liste des concepts existants
+            # On peut donc créer le concept retourné.
+            # Il est créé sans nom mais enregistré dans la liste des concepts existants
             try:
                self.get_sd_prod()
                # Renommage du concept : Il suffit de changer son attribut nom pour le nommer
@@ -168,16 +168,16 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
                self.sdnom=nom
                self.parent.update_concept_after_etape(self,self.sd)
                self.fin_modif()
-               return 1,"Nommage du concept effectué"
+               return 1,"Nommage du concept effectué"
             except:
                return 0,"Nommage impossible"+str(sys.exc_info()[1])
       else :
           #Un concept produit preexiste
           old_nom=self.sd.nom
           if string.find(old_nom,'sansnom') :
-            # Dans le cas où old_nom == sansnom, isvalid retourne 0 alors que ...
-            # par contre si le concept existe et qu'il s'appelle sansnom c'est que l'étape est valide
-            # on peut donc le nommer sans test préalable
+            # Dans le cas où old_nom == sansnom, isvalid retourne 0 alors que ...
+            # par contre si le concept existe et qu'il s'appelle sansnom c'est que l'étape est valide
+            # on peut donc le nommer sans test préalable
             if self.parent.get_sd_autour_etape(nom,self):
               return 0,"Nommage du concept refuse : un concept de meme nom existe deja"
             else:
@@ -186,11 +186,11 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
               self.sdnom=nom
               self.parent.update_concept_after_etape(self,self.sd)
               self.fin_modif()
-              return 1,"Nommage du concept effectué"
+              return 1,"Nommage du concept effectué"
           if self.isvalid() :
             # Normalement l appel de isvalid a mis a jour le concept produit (son type)
-            # Il suffit de spécifier l attribut nom de sd pour le nommer si le nom n est pas
-            # deja attribué
+            # Il suffit de spécifier l attribut nom de sd pour le nommer si le nom n est pas
+            # deja attribué
             if self.parent.get_sd_autour_etape(nom,self):
               return 0,"Nommage du concept refuse : un concept de meme nom existe deja"
             else:
@@ -199,7 +199,7 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
               self.sdnom=nom
               self.parent.update_concept_after_etape(self,self.sd)
               self.fin_modif()
-              return 1,"Nommage du concept effectué"
+              return 1,"Nommage du concept effectué"
           else:
             # Normalement on ne devrait pas passer ici
             return 0,'Normalement on ne devrait pas passer ici'
@@ -216,7 +216,7 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
       """
           Rend l'etape courante active.
           Il faut ajouter la sd si elle existe au contexte global du JDC
-          et à la liste des sd
+          et à la liste des sd
       """
       if self.actif:return
       self.actif = 1
@@ -283,15 +283,15 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
       """ 
             Fonction:
             Lors d'une destruction d'etape, detruit tous les concepts produits
-            Un opérateur n a qu un concept produit 
+            Un opérateur n a qu un concept produit 
             Une procedure n'en a aucun
-            Une macro en a en général plus d'un
+            Une macro en a en général plus d'un
       """
       #print "supprime_sdprods",self
       if self.reuse is self.sd :return
-      # l'étape n'est pas réentrante
-      # le concept retourné par l'étape est à supprimer car il était 
-      # créé par l'étape
+      # l'étape n'est pas réentrante
+      # le concept retourné par l'étape est à supprimer car il était 
+      # créé par l'étape
       if self.sd != None :
          self.parent.del_sdprod(self.sd)
          self.parent.delete_concept(self.sd)
@@ -310,7 +310,7 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
           Fonction :
           Mettre a jour les mots cles de l etape et eventuellement 
           le concept produit si reuse
-          suite à la disparition du concept sd
+          suite à la disparition du concept sd
           Seuls les mots cles simples MCSIMP font un traitement autre 
           que de transmettre aux fils
       """
@@ -341,7 +341,7 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
 
    def get_noms_sd_oper_reentrant(self):
       """ 
-          Retourne la liste des noms de concepts utilisés à l'intérieur de la commande
+          Retourne la liste des noms de concepts utilisés à l'intérieur de la commande
           qui sont du type que peut retourner cette commande 
       """
       liste_sd = self.get_sd_utilisees()
@@ -362,14 +362,14 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
    def get_genealogie(self):
       """ 
           Retourne la liste des noms des ascendants de l'objet self
-          en s'arretant à la première ETAPE rencontrée
+          en s'arretant à la première ETAPE rencontrée
       """
       return [self.nom]
 
    def verif_existence_sd(self):
      """
-        Vérifie que les structures de données utilisées dans self existent bien dans le contexte
-        avant étape, sinon enlève la référence à ces concepts
+        Vérifie que les structures de données utilisées dans self existent bien dans le contexte
+        avant étape, sinon enlève la référence à ces concepts
      """
      #print "verif_existence_sd",self.sd
      for motcle in self.mc_liste :
@@ -377,10 +377,10 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
 
    def update_mc_global(self):
      """
-        Met a jour les mots cles globaux enregistrés dans l'étape
+        Met a jour les mots cles globaux enregistrés dans l'étape
         et dans le jdc parent.
         Une etape ne peut pas etre globale. Elle se contente de passer
-        la requete a ses fils apres avoir reinitialisé le dictionnaire 
+        la requete a ses fils apres avoir reinitialisé le dictionnaire 
         des mots cles globaux.
      """
      self.mc_globaux={}
@@ -394,17 +394,17 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
 
    def get_objet_commentarise(self,format):
       """
-          Cette méthode retourne un objet commande commentarisée
+          Cette méthode retourne un objet commande commentarisée
           representant la commande self
       """
       import generator
       g=generator.plugins[format]()
       texte_commande = g.gener(self,format='beautifie')
-      # Il faut enlever la première ligne vide de texte_commande que
+      # Il faut enlever la première ligne vide de texte_commande que
       # rajoute le generator
       #rebut,texte_commande = string.split(texte_commande,'\n',1)
-      # on construit l'objet COMMANDE_COMM repésentatif de self mais non
-      # enregistré dans le jdc (pas ajouté dans jdc.etapes)
+      # on construit l'objet COMMANDE_COMM repésentatif de self mais non
+      # enregistré dans le jdc (pas ajouté dans jdc.etapes)
       parent=self.parent
       pos=self.parent.etapes.index(self)
       commande_comment = commande_comm.COMMANDE_COMM(texte=texte_commande,
@@ -432,8 +432,8 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
       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
-         # Si on poursuit, on a le choix entre deux possibilités :
-         # 1. on annule la sd associée à self
+         # Si on poursuit, on a le choix entre deux possibilités :
+         # 1. on annule la sd associée à self
          # 2. on la conserve mais il faut la retourner
          # En plus il faut rendre coherents sdnom et sd.nom
          self.sd=None
@@ -443,11 +443,11 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
 
       return self.sd
 
-#ATTENTION SURCHARGE: cette methode doit etre gardée en synchronisation avec Noyau
+#ATTENTION SURCHARGE: cette methode doit etre gardée en synchronisation avec Noyau
    def make_register(self):
       """
-         Initialise les attributs jdc, id, niveau et réalise les
-         enregistrements nécessaires
+         Initialise les attributs jdc, id, niveau et réalise les
+         enregistrements nécessaires
          Pour EFICAS, on tient compte des niveaux
          Surcharge la methode make_register du package Noyau
       """
@@ -456,13 +456,13 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
          self.id=   self.parent.register(self)
          self.UserError=self.jdc.UserError
          if self.definition.niveau :
-            # La définition est dans un niveau. En plus on
+            # La définition est dans un niveau. En plus on
             # l'enregistre dans le niveau
             self.nom_niveau_definition = self.definition.niveau.nom
             self.niveau = self.parent.dict_niveaux[self.nom_niveau_definition]
             self.niveau.register(self)
          else:
-            # La définition est au niveau global
+            # La définition est au niveau global
             self.nom_niveau_definition = 'JDC'
             self.niveau=self.parent
       else:
@@ -473,7 +473,7 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
 
    def report(self):
      cr= Validation.V_ETAPE.ETAPE.report(self)
-     #rafraichissement de la validité de l'etape (probleme avec l'ordre dans les macros : etape puis mots cles)
+     #rafraichissement de la validité de l'etape (probleme avec l'ordre dans les macros : etape puis mots cles)
      self.isvalid()
      return cr