]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Mise a niveau avec 6.3.14
authoreficas <>
Mon, 2 Sep 2002 17:12:42 +0000 (17:12 +0000)
committereficas <>
Mon, 2 Sep 2002 17:12:42 +0000 (17:12 +0000)
Validation/V_ETAPE.py
Validation/V_MACRO_ETAPE.py

index a5105d37446962245aca911f2d14f8d1b04b7975..904333d5a01ff1ca70645346209c68f4034ca56a 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_ETAPE Validation  DATE 26/06/2002   AUTEUR DURAND C.DURAND 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
+# (AT YOUR OPTION) ANY LATER VERSION.                                 
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
+#                                                                       
+#                                                                       
+# ======================================================================
 """
    Ce module contient la classe mixin ETAPE qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type ETAPE
@@ -57,7 +77,7 @@ class ETAPE(V_MCCOMPO.MCCOMPO):
           else :
             if cr == 'oui' : self.cr.fatal("Concept retourné non défini")
             valid = 0
-        # on teste, si elle existe, le nom de la sd (sa longueur doit être <= 8 caractères)
+        # on teste, si elle existe, le nom de la sd (sa longueur doit etre <= 8 caractères)
         if self.sd != None :
           # la SD existe déjà : on regarde son nom
           if self.sd.nom != None :
@@ -120,17 +140,22 @@ class ETAPE(V_MCCOMPO.MCCOMPO):
           self.sd=None
           if cr == 'oui' : 
              l=traceback.format_exception(sys.exc_info()[0],
-                                          sys.exc_info()[1],
-                                          sys.exc_info()[2])
-             self.cr.fatal('Impossible d affecter un type au résultat\n'+ string.join(l[2:]))
+                                           sys.exc_info()[1],
+                                           sys.exc_info()[2])
+             self.cr.fatal('Impossible d affecter un type au résultat\n'+string.join(l[2:]))
           return 0
       # on teste maintenant si la SD est r\351utilis\351e ou s'il faut la cr\351er
+      valid=1
       if self.reuse:
         if AsType(self.reuse) != sd_prod:
           if cr == 'oui' : self.cr.fatal('Type de concept reutilise incompatible avec type produit')
-          return 0
-        self.sd=self.reuse
-        return 1
+          valid= 0
+        if self.sdnom[0] != '_' and self.reuse.nom != self.sdnom:
+          # Le nom de la variable de retour (self.sdnom) doit etre le meme que celui du concept reutilise (self.reuse.nom)
+          if cr == 'oui' : 
+             self.cr.fatal('Concept reutilise : le nom de la variable de retour devrait etre %s et non %s' %(self.reuse.nom,self.sdnom))
+          valid= 0
+        if valid:self.sd=self.reuse
       else:
         if sd_prod == None:# Pas de concept retourné
           # Que faut il faire de l eventuel ancien sd ?
@@ -142,10 +167,12 @@ class ETAPE(V_MCCOMPO.MCCOMPO):
           else: 
              # Le sd n existait pas , on ne le crée pas
              if cr == 'oui' : self.cr.fatal("Concept retourné non défini")
-             return 0
+             valid=0 
         if self.definition.reentrant == 'o':
-          self.reuse = self.sd
-        return 1
+           if cr == 'oui' : self.cr.fatal('Commande obligatoirement reentrante : specifier reuse=concept')
+           valid=0 
+           #self.reuse = self.sd
+      return valid
 
 
    def report(self):
index f4ce18923959f922c7ea5479a95c052daee418c6..878a14dad62f273f616f4253df1478ec0d094cb1 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_MACRO_ETAPE Validation  DATE 26/06/2002   AUTEUR DURAND C.DURAND 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
+# (AT YOUR OPTION) ANY LATER VERSION.                                 
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
+#                                                                       
+#                                                                       
+# ======================================================================
 """
    Ce module contient la classe mixin MACRO_ETAPE qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MACRO_ETAPE
@@ -46,7 +66,7 @@ class MACRO_ETAPE(V_ETAPE.ETAPE):
           old_valid = self.valid
         else:
           old_valid = None
-        # on teste, si elle existe, le nom de la sd (sa longueur doit être <= 8 caractères)
+        # on teste, si elle existe, le nom de la sd (sa longueur doit etre <= 8 caractères)
         if self.sd != None :
           # la SD existe déjà : on regarde son nom
           if self.sd.get_name() != None :
@@ -122,17 +142,23 @@ class MACRO_ETAPE(V_ETAPE.ETAPE):
           self.sd=None
           if cr == 'oui' : 
              l=traceback.format_exception(sys.exc_info()[0],
-                                          sys.exc_info()[1],
-                                          sys.exc_info()[2])
+                                           sys.exc_info()[1],
+                                           sys.exc_info()[2])
              self.cr.fatal('Impossible d affecter un type au résultat\n'+string.join(l[2:]))
           return 0
       # on teste maintenant si la SD est r\351utilis\351e ou s'il faut la cr\351er
+      valid=1
       if self.reuse:
+        # Un concept reutilise a ete specifie
         if AsType(self.reuse) != sd_prod:
           if cr == 'oui' : self.cr.fatal('Type de concept reutilise incompatible avec type produit')
-          return 0
-        self.sd=self.reuse
-        return 1
+          valid=0
+        if self.sdnom[0] != '_' and self.reuse.nom != self.sdnom:
+          # Le nom de la variable de retour (self.sdnom) doit etre le meme que celui du concept reutilise (self.reuse.nom)
+          if cr == 'oui' :
+             self.cr.fatal('Concept reutilise : le nom de la variable de retour devrait etre %s et non %s' %(self.reuse.nom,self.sdnom))
+          valid= 0
+        if valid:self.sd=self.reuse
       else:
         if sd_prod == None:# Pas de concept retourné
           # Que faut il faire de l eventuel ancien sd ?
@@ -146,10 +172,12 @@ class MACRO_ETAPE(V_ETAPE.ETAPE):
             # Le sd n existait pas , on ne le crée pas
             self.typret=sd_prod
             if cr == 'oui' : self.cr.fatal("Concept retourné non défini")
-            return 0
+            valid=0 
         if self.definition.reentrant == 'o':
-          self.reuse = self.sd
-        return 1
+           if cr == 'oui' : self.cr.fatal('Commande obligatoirement reentrante : specifier reuse=concept')
+           valid=0
+           #self.reuse = self.sd
+      return valid
 
    def report(self):
       """