]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
Version Aster 6.3.14
authoreficas <>
Mon, 2 Sep 2002 17:01:01 +0000 (17:01 +0000)
committereficas <>
Mon, 2 Sep 2002 17:01:01 +0000 (17:01 +0000)
51 files changed:
Noyau/N_ASSD.py
Noyau/N_BLOC.py
Noyau/N_CO.py
Noyau/N_CR.py
Noyau/N_ENTITE.py
Noyau/N_ETAPE.py
Noyau/N_EVAL.py
Noyau/N_Exception.py
Noyau/N_FACT.py
Noyau/N_FONCTION.py
Noyau/N_FORM.py
Noyau/N_FORM_ETAPE.py
Noyau/N_GEOM.py
Noyau/N_JDC.py
Noyau/N_JDC_CATA.py
Noyau/N_MACRO.py
Noyau/N_MACRO_ETAPE.py
Noyau/N_MCBLOC.py
Noyau/N_MCCOMPO.py
Noyau/N_MCFACT.py
Noyau/N_MCLIST.py
Noyau/N_MCSIMP.py
Noyau/N_OBJECT.py
Noyau/N_OPER.py
Noyau/N_PROC.py
Noyau/N_PROC_ETAPE.py
Noyau/N_REGLE.py
Noyau/N_SIMP.py
Noyau/N__F.py
Noyau/N_utils.py
Noyau/__init__.py
Noyau/context.py
Noyau/nommage.py
Noyau/properties.py
Validation/V_AU_MOINS_UN.py
Validation/V_A_CLASSER.py
Validation/V_ENSEMBLE.py
Validation/V_ETAPE.py
Validation/V_EXCLUS.py
Validation/V_JDC.py
Validation/V_MACRO_ETAPE.py
Validation/V_MCBLOC.py
Validation/V_MCCOMPO.py
Validation/V_MCFACT.py
Validation/V_MCLIST.py
Validation/V_MCSIMP.py
Validation/V_PRESENT_ABSENT.py
Validation/V_PRESENT_PRESENT.py
Validation/V_PROC_ETAPE.py
Validation/V_UN_PARMI.py
Validation/__init__.py

index 51d8a7ab45e0fa23855dbf6d4b2a2f05b2441404..3c9a488d734c2f07498aa5707a2cc49b1529a1ad 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_ASSD Noyau  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 """
 
 """
index 49aef06c789178eed6e06582ef587495dfec7880..f00a8b54e1fbc582e3273fc74ee9ccc897b9f97c 100644 (file)
@@ -1,9 +1,29 @@
+#@ MODIF N_BLOC Noyau  DATE 29/05/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 de definition BLOC
     qui permet de spécifier les caractéristiques des blocs de mots clés 
 """
 
-import types,string
+import types,string,sys
 import traceback
 
 import N_ENTITE
@@ -73,21 +93,21 @@ class BLOC(N_ENTITE.ENTITE):
          Les éventuels messages d'erreur sont écrits dans l'objet compte-rendu (self.cr).
       """
       if type(self.fr) != types.StringType :
-        self.cr.fatal("L'attribut 'fr' doit être une chaîne de caractères : %s" %`self.fr`)
+        self.cr.fatal("L'attribut 'fr' doit etre une chaine de caractères : %s" %`self.fr`)
       if type(self.docu) != types.StringType :
-        self.cr.fatal("L'attribut 'docu' doit être une chaîne de caractères : %s" %`self.docu`)
+        self.cr.fatal("L'attribut 'docu' doit etre une chaine de caractères : %s" %`self.docu`)
       if type(self.regles) != types.TupleType :
-        self.cr.fatal("L'attribut 'regles' doit être un tuple : %s" %`self.regles` )
+        self.cr.fatal("L'attribut 'regles' doit etre un tuple : %s" %`self.regles` )
       if self.statut not in ['f','o'] :
         self.cr.fatal("L'attribut 'statut' doit valoir 'o' ou 'f' : %s" %`self.statut` )
       if self.condition != None :
         if type(self.condition) != types.StringType :
-          self.cr.fatal("L'attribut 'condition' doit être une chaîne de caractères : %s" %`self.condition`)
+          self.cr.fatal("L'attribut 'condition' doit etre une chaine de caractères : %s" %`self.condition`)
       else:
         self.cr.fatal("La condition ne doit pas valoir None !")
       self.verif_cata_regles()
 
-   def verif_presence(self,dict):
+   def verif_presence(self,dict,globs):
       """
          Cette méthode vérifie si le dictionnaire passé en argument (dict)
          est susceptible de contenir un bloc de mots-clés conforme à la 
@@ -102,15 +122,15 @@ class BLOC(N_ENTITE.ENTITE):
       """
       # On recopie le dictionnaire pour protéger l'original 
       dico=dict.copy()
-      # XXX on ajoute AsType pour permettre les évaluations
-      # XXX pour le moment en commentaire. Voir si on ne peut pas faire autrement.
-      #dico['AsType']=AsType
       if self.condition != None :
         try:
-          test = eval(self.condition,dico)
+          test = eval(self.condition,globs,dico)
           return test
         except NameError:
           # erreur 'normale' : un mot-clé n'est pas présent et on veut l'évaluer dans la condition
+          if CONTEXT.debug:
+             l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
+             print "WARNING : Erreur a l'evaluation de la condition "+string.join(l)
           return 0
         except SyntaxError:
           # le texte de la condition n'est pas du Python correct --> faute de catalogue
index 7f922300f90ac602245d1130611b57a41f65520e..60b8b6feaa3eaead7869b2e1e9373a52214f9429 100644 (file)
@@ -1,4 +1,26 @@
+#@ MODIF N_CO Noyau  DATE 29/05/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 from N_ASSD import ASSD
+from N_Exception import AsException
+import N_utils
 
 class CO(ASSD):
   def __init__(self,nom):
@@ -7,7 +29,11 @@ class CO(ASSD):
     #  On demande le nommage du concept
     #
     if self.parent : 
-       self.parent.NommerSdprod(self,nom)
+       try:
+          self.parent.NommerSdprod(self,nom)
+       except AsException,e:
+          appel=N_utils.callee_where(niveau=2)
+          raise AsException("Concept CO, fichier: ",appel[1]," ligne : ",appel[0],'\n',e)
     else:
        self.nom=nom
 
index 9c511aa1924cb33a5e8751850a49ef029d7a5f64..a3e231ebe45795b8f5045263b29d67d21efa8932 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_CR Noyau  DATE 29/05/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 compte-rendu de validation
 """
 
@@ -99,14 +119,14 @@ class CR :
 
    def __str__(self):
       """
-        Retourne une chaîne de caractères décorée et représentative de self
+        Retourne une chaine de caractères décorée et représentative de self
       """
       s=''
       self.beautifie_messages()
-      s=s+string.join(self.crok_belle)
-      s=s+string.join(self.crwarn_belle)
-      s=s+string.join(self.crfatal_belle)
-      s=s+string.join(self.crexception_belle)
+      s=s+string.join(self.crok_belle,'')
+      s=s+string.join(self.crwarn_belle,'')
+      s=s+string.join(self.crfatal_belle,'')
+      s=s+string.join(self.crexception_belle,'')
       for subcr in self.subcr:
          if self.verbeux == 'oui':
             s=s+str(subcr)+'\n'
@@ -121,7 +141,7 @@ class CR :
 
    def report(self,decalage = 2):
       """
-        Retourne une chaîne de caractères non encadrée mais représentative de self
+        Retourne une chaine de caractères non encadrée mais représentative de self
       """
       s=''
       # on stocke dans s les messages de premier niveau
@@ -145,7 +165,7 @@ class CR :
 
    def get_mess_fatal(self):
       """
-          Retourne une chaîne de caractères contenant les messages de 
+          Retourne une chaine de caractères contenant les messages de 
           la liste crfatal (du dernier au premier)
       """
       self.crfatal.reverse()
@@ -157,7 +177,7 @@ class CR :
 
    def get_mess_exception(self):
       """
-          Retourne une chaîne de caractères contenant les messages 
+          Retourne une chaine de caractères contenant les messages 
           de la liste crexception (du dernier au premier)
       """
       self.crexception.reverse()
@@ -172,7 +192,7 @@ class CR :
 
 def justify_text(texte='',cesure=50):
   """
-      Prend la chaîne de caractères 'texte' et la retourne avec un retour chariot
+      Prend la chaine de caractères 'texte' et la retourne avec un retour chariot
       tous les 'cesure' caractères s'il y a lieu (le retour chariot est placé dans un blanc
       et non au milieu d'un mot
   """
@@ -201,7 +221,7 @@ def justify_text(texte='',cesure=50):
 
 def encadre_message(texte,motif):
   """ 
-     Retourne la chaîne de caractères texte entourée d'un cadre formés
+     Retourne la chaine de caractères texte entourée d'un cadre formés
      d'éléments 'motif'
   """
   texte = justify_text(texte,cesure=80)
index 2279dda09c7f690695297b9380680a56df85cc7a..b5b9d875513cdcf9540693b95cf4f5458b8bb6fd 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_ENTITE Noyau  DATE 27/03/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 ENTITE qui est la classe de base
     de toutes les classes de definition d'EFICAS.
index b441d41e2b878f4242d1315548979558cedef05e..c7c5335df0793d88f695add0e4523d6393b30bb4 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_ETAPE Noyau  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 ETAPE qui sert à vérifier et à exécuter
     une commande
@@ -94,6 +114,7 @@ class ETAPE(N_MCCOMPO.MCCOMPO):
 
       """
       if not self.isactif():return
+      self.sdnom=nom
       try:
          if self.parent:
             sd= self.parent.create_sdprod(self,nom)
@@ -162,13 +183,15 @@ class ETAPE(N_MCCOMPO.MCCOMPO):
         sd_prod=self.definition.sd_prod
       # on teste maintenant si la SD est réutilisée ou s'il faut la créer
       if self.reuse:
-        if AsType(self.reuse) != sd_prod:
-          raise AsException("type de concept reutilise incompatible avec type produit")
+        # Il est preferable de traiter cette erreur ultérieurement : ce n'est pas une erreur fatale
+        #if AsType(self.reuse) != sd_prod:
+        #  raise AsException("type de concept reutilise incompatible avec type produit")
         self.sd=self.reuse
       else:
         self.sd= sd_prod(etape=self)
-        if self.definition.reentrant == 'o':
-          self.reuse = self.sd
+        # Si reuse n'a pas ete donné, c'est une erreur. Ne pas corriger afin de la detecter ensuite
+        #if self.definition.reentrant == 'o':
+        #  self.reuse = self.sd
       return self.sd
 
    def get_type_produit(self):
@@ -205,7 +228,7 @@ class ETAPE(N_MCCOMPO.MCCOMPO):
    def supprime(self):
       """
          Méthode qui supprime toutes les références arrières afin que l'objet puisse
-         être correctement détruit par le garbage collector
+         etre correctement détruit par le garbage collector
       """
       N_MCCOMPO.MCCOMPO.supprime(self)
       self.jdc=None
index d3dff1bf08afdf32cea186f3bc6e9ac4d8a5a101..6398dd83fb31ea1741f790c2d137c9a41c296055 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_EVAL Noyau  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 """
 """
 
index ae3b4ad38ce5b25350a750263bfcee1f5eca5f2a..48ae9f79eb27dec9ba9fe8958eb2e6cb5d9b83bf 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_Exception Noyau  DATE 27/03/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 AsException
 """
index 0cf0289532d458818259a9c37e1f63024cdbaad8..2d9455c03c2c14815add7e5daabf5d2ecfcf5107 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_FACT Noyau  DATE 27/03/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 de definition FACT
     qui permet de spécifier les caractéristiques des mots clés facteurs
 """
@@ -113,19 +133,19 @@ class FACT(N_ENTITE.ENTITE):
    def verif_cata(self):
       if type(self.min) != types.IntType :
          if self.min != '**':
-            self.cr.fatal("L'attribut 'min' doit être un entier : %s" %`self.min`)
+            self.cr.fatal("L'attribut 'min' doit etre un entier : %s" %`self.min`)
       if type(self.max) != types.IntType :
          if self.max != '**':
-            self.cr.fatal("L'attribut 'max' doit être un entier : %s" %`self.max`)
+            self.cr.fatal("L'attribut 'max' doit etre un entier : %s" %`self.max`)
       if self.min > self.max :
          self.cr.fatal("Nombres d'occurrence min et max invalides : %s %s" %(`self.min`,`self.max`))
       if type(self.fr) != types.StringType :
-         self.cr.fatal("L'attribut 'fr' doit être une chaîne de caractères : %s" %`self.fr`)
+         self.cr.fatal("L'attribut 'fr' doit etre une chaine de caractères : %s" %`self.fr`)
       if type(self.regles) != types.TupleType :
-         self.cr.fatal("L'attribut 'regles' doit être un tuple : %s" %`self.regles`)
+         self.cr.fatal("L'attribut 'regles' doit etre un tuple : %s" %`self.regles`)
       if self.statut not in ['f','o','c','d'] :
          self.cr.fatal("L'attribut 'statut' doit valoir 'o','f','c' ou 'd' : %s" %`self.statut`)
       if type(self.docu) != types.StringType :
-         self.cr.fatal("L'attribut 'docu' doit être une chaîne de caractères : %s" %`self.docu`)
+         self.cr.fatal("L'attribut 'docu' doit etre une chaine de caractères : %s" %`self.docu`)
       self.verif_cata_regles()
 
index a38526ef94251cc5f56df02ed983eb74083e50bd..5d0c8c5cd545d2a01f218977c39c9aa080ddefcb 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_FONCTION Noyau  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 from N_ASSD import ASSD
 
 class FONCTION(ASSD):pass
index f7026372aac170a1b22a483a2f4d75792b17ebfe..4ce7136c56907168d06645e04754ff1f1171c88b 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_FORM Noyau  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 import N_MACRO
 import N_FORM_ETAPE
 
index 264edc75c4f479bb251a94f54db3a1ae5ec55ec0..7668688de32ba96ae9a6ec4f77cdde143395905b 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_FORM_ETAPE Noyau  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 import N_MACRO_ETAPE
 
 class FORM_ETAPE(N_MACRO_ETAPE.MACRO_ETAPE):
index c6d62b63fb1be906010d04b87e618a25ef4f46ea..c52260be1328da713a7839425d93c6ba48e8c5ac 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_GEOM Noyau  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 """
 
 """
index 82568d235dbb7b08fd831e4060962ee7b5a919a0..95581464fda57b4816128f2efb46374deab890b8 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_JDC Noyau  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 JDC qui sert à interpréter un jeu de commandes
 """
@@ -30,6 +50,7 @@ from Accas import _F
 from Accas import *
 NONE = None
 """
+
    from N_utils import SEP
 
    def __init__(self,definition=None,procedure=None,cata=None,
@@ -69,10 +90,14 @@ NONE = None
       self.cr = self.CR(debut = "CR phase d'initialisation", 
                         fin = "fin CR phase d'initialisation")
       self.g_context={}
+      # Liste pour stocker tous les concepts produits dans le JDC
       self.sds=[]
+      # Dictionnaire pour stocker tous les concepts du JDC (acces rapide par le nom)
+      self.sds_dict={}
       self.etapes=[]
       self.mc_globaux={}
       self.current_context={}
+      self.condition_context={}
       self.index_etape_courante=0
 
    def compile(self):
@@ -111,6 +136,11 @@ NONE = None
             if type(obj_cata) == types.ModuleType :
                init2 = "from "+obj_cata.__name__+" import *"
                exec init2 in self.g_context
+
+         # Initialisation du contexte global pour l'évaluation des conditions de BLOC
+         # On utilise une copie de l'initialisation du contexte du jdc
+         self.condition_context=self.g_context.copy()
+
          # Si l'attribut context_ini n'est pas vide, on ajoute au contexte global
          # le contexte initial (--> permet d'évaluer un JDC en récupérant un contexte
          # d'un autre par exemple)
@@ -216,7 +246,7 @@ NONE = None
          self.NommerSdprod(sd,nomsd)
       return sd
 
-   def NommerSdprod(self,sd,sdnom):
+   def NommerSdprod(self,sd,sdnom,restrict='non'):
       """ 
           Nomme la SD apres avoir verifie que le nommage est possible : nom 
           non utilise
@@ -224,15 +254,19 @@ NONE = None
           Met le concept créé dans le concept global g_context
       """
       if CONTEXT.debug : print "JDC.NommerSdprod ",sd,sdnom
-      o=self.g_context.get(sdnom,None)
+      o=self.sds_dict.get(sdnom,None)
       if isinstance(o,ASSD):
          raise AsException("Nom de concept deja defini : %s" % sdnom)
 
       # ATTENTION : Il ne faut pas ajouter sd dans sds car il s y trouve deja.
       # Ajoute a la creation (appel de reg_sd).
-      self.g_context[sdnom]=sd
+      self.sds_dict[sdnom]=sd
       sd.nom=sdnom
 
+      # En plus si restrict vaut 'non', on insere le concept dans le contexte du JDC
+      if restrict == 'non':
+         self.g_context[sdnom]=sd
+
    def reg_sd(self,sd):
       """ 
           Methode appelee dans l __init__ d un ASSD lors de sa creation 
index ffb36d150603ea19a4e935286787f9380948e772..4bb371a641e90652aebe4c1727d297a829871763 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_JDC_CATA Noyau  DATE 27/03/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 de definition JDC_CATA
     qui permet de spécifier les caractéristiques d'un JDC
@@ -70,7 +90,7 @@ class JDC_CATA(N_ENTITE.ENTITE):
           Méthode de vérification des attributs de définition
       """
       if type(self.regles) != types.TupleType :
-        self.cr.fatal("L'attribut 'regles' doit être un tuple : %s" %`self.regles`)
+        self.cr.fatal("L'attribut 'regles' doit etre un tuple : %s" %`self.regles`)
       self.verif_cata_regles()
 
    def verif_cata_regles(self):
index f34051efa256148fa399c30ce0151476e39b3148..5aa383619b4c8d702ed3e75f47c156807b45569d 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_MACRO Noyau  DATE 27/03/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 de definition MACRO
     qui permet de spécifier les caractéristiques d'une macro-commande
@@ -39,7 +59,7 @@ class MACRO(N_ENTITE.ENTITE):
                         non répétable ne doit apparaitre qu'une fois dans une exécution. C'est du ressort
                         de l'objet gérant le contexte d'exécution de vérifier cette contrainte.
 
-    - fr   : commentaire associé en français
+    - fr   : commentaire associé en francais
 
     - ang : commentaire associé en anglais
 
@@ -50,7 +70,7 @@ class MACRO(N_ENTITE.ENTITE):
     - op_init : cet attribut vaut None ou une fonction. Si cet attribut ne vaut pas None, cette
                       fonction est exécutée lors des phases d'initialisation de l'étape associée.
 
-    - niveau : indique le niveau dans lequel est rangé l'opérateur. Les opérateurs peuvent être
+    - niveau : indique le niveau dans lequel est rangé l'opérateur. Les opérateurs peuvent etre
                      rangés par niveau. Ils apparaissent alors exclusivement dans leur niveau de rangement.
                      Si niveau vaut None, l'opérateur est rangé au niveau global.
 
@@ -134,17 +154,17 @@ class MACRO(N_ENTITE.ENTITE):
           Méthode de vérification des attributs de définition
       """
       if self.op is not None and (type(self.op) != types.IntType or self.op > 0) :
-        self.cr.fatal("L'attribut 'op' doit être un entier signé : %s" %`self.op`)
+        self.cr.fatal("L'attribut 'op' doit etre un entier signé : %s" %`self.op`)
       if self.proc is not None and type(self.proc) != types.FunctionType:
-        self.cr.fatal("L'attribut op doit être une fonction Python : %s" % `self.proc`)
+        self.cr.fatal("L'attribut op doit etre une fonction Python : %s" % `self.proc`)
       if type(self.regles) != types.TupleType :
-        self.cr.fatal("L'attribut 'regles' doit être un tuple : %s" %`self.regles`)
+        self.cr.fatal("L'attribut 'regles' doit etre un tuple : %s" %`self.regles`)
       if type(self.fr) != types.StringType :
-        self.cr.fatal("L'attribut 'fr' doit être une chaîne de caractères : %s" %`self.fr`)
+        self.cr.fatal("L'attribut 'fr' doit etre une chaine de caractères : %s" %`self.fr`)
       if type(self.docu) != types.StringType :
-        self.cr.fatal("L'attribut 'docu' doit être une chaîne de caractères : %s" %`self.docu` )
+        self.cr.fatal("L'attribut 'docu' doit etre une chaine de caractères : %s" %`self.docu` )
       if type(self.nom) != types.StringType :
-        self.cr.fatal("L'attribut 'nom' doit être une chaîne de caractères : %s" %`self.nom`)
+        self.cr.fatal("L'attribut 'nom' doit etre une chaine de caractères : %s" %`self.nom`)
       if self.reentrant not in ('o','n','f'):
         self.cr.fatal("L'attribut 'reentrant' doit valoir 'o','n' ou 'f' : %s" %`self.reentrant`)
       self.verif_cata_regles()
index 40559108b0a95f6327c1f8ab1f80519383a8a516..4a883f8fd9fbd29f8710bb96dba0b1dcbb98226d 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_MACRO_ETAPE Noyau  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 MACRO_ETAPE qui sert à vérifier et à exécuter
     une commande
@@ -87,6 +107,7 @@ class MACRO_ETAPE(N_ETAPE.ETAPE):
 
       """
       if not self.isactif():return
+      self.sdnom=nom
       try:
          # On positionne la macro self en tant que current_step pour que les 
          # étapes créées lors de l'appel à sd_prod et à op_init aient la macro
@@ -155,8 +176,9 @@ class MACRO_ETAPE(N_ETAPE.ETAPE):
 
       # on teste maintenant si la SD est réutilisée ou s'il faut la créer
       if self.reuse:
-        if AsType(self.reuse) != sd_prod:
-          raise AsException("type de concept reutilise incompatible avec type produit")
+        # Il est preferable de traiter cette erreur ultérieurement : ce n'est pas une erreur fatale
+        #if AsType(self.reuse) != sd_prod:
+        #  raise AsException("type de concept reutilise incompatible avec type produit")
         self.sd=self.reuse
       else:
         if sd_prod == None:
@@ -164,8 +186,9 @@ class MACRO_ETAPE(N_ETAPE.ETAPE):
         else:
           self.sd= sd_prod(etape=self)
           self.typret=sd_prod
-        if self.definition.reentrant == 'o':
-          self.reuse = self.sd
+        # Si reuse n'a pas ete donné, c'est une erreur. Ne pas corriger afin de la detecter ensuite
+        #if self.definition.reentrant == 'o':
+        #  self.reuse = self.sd
       return self.sd
 
    def get_type_produit(self,force=0):
@@ -206,7 +229,11 @@ class MACRO_ETAPE(N_ETAPE.ETAPE):
       # mémorisée dans self.index_etape_courante
       # Si on insère des commandes (par ex, dans EFICAS), il faut
       # préalablement remettre ce pointeur à 0
-      index_etape=self.etapes.index(etape)
+      if etape:
+         index_etape=self.etapes.index(etape)
+      else:
+         index_etape=len(self.etapes)
+
       if index_etape >= self.index_etape_courante:
          # On calcule le contexte en partant du contexte existant
          d=self.current_context
@@ -226,7 +253,7 @@ class MACRO_ETAPE(N_ETAPE.ETAPE):
    def supprime(self):
       """
          Méthode qui supprime toutes les références arrières afin que 
-         l'objet puisse être correctement détruit par le garbage collector
+         l'objet puisse etre correctement détruit par le garbage collector
       """
       N_MCCOMPO.MCCOMPO.supprime(self)
       self.jdc=None
@@ -332,31 +359,60 @@ class MACRO_ETAPE(N_ETAPE.ETAPE):
             raise AsException("Le type du concept produit %s devrait etre une sur classe de %s" %(sd.__class__,sdprod))
          # La propriete du concept est transferee a l'etape avec le type attendu par l'étape
          etape.sd=sd
-         #sd.__call__=sdprod
-         #XXX Il semble plus logique que ce soit class et non pas call ???
-         sd.__class__=sdprod
          sd.etape=etape
+         # On donne au concept le type produit par la sous commande.
+         # Le principe est le suivant : apres avoir verifie que le type deduit par la sous commande
+         # est bien coherent avec celui initialement affecte par la macro (voir ci dessus)
+         # on affecte au concept ce type car il peut etre plus precis (derive, en general)
+         sd.__class__=sdprod
+         # On force également le nom stocké dans l'attribut sdnom : on lui donne le nom 
+         # du concept associé à nomsd
+         etape.sdnom=sd.nom
+      elif etape.reuse != None:
+         # On est dans le cas d'une commande avec reutilisation d'un concept existant
+         # get_sd_prod fait le necessaire : verifications, associations, etc. mais ne cree 
+         # pas un nouveau concept. Il retourne le concept reutilise
+         sd= etape.get_sd_prod()
+         # Dans le cas d'un concept nomme automatiquement : _xxx, __xxx,
+         # On force le nom stocke dans l'attribut sdnom  de l'objet etape : on lui donne le nom 
+         # du concept  reutilise (sd ou etape.reuse c'est pareil)
+         # Ceci est indispensable pour eviter des erreurs lors des verifications des macros
+         # En effet une commande avec reutilisation d'un concept verifie que le nom de 
+         # la variable a gauche du signe = est le meme que celui du concept reutilise.
+         # Lorsqu'une telle commande apparait dans une macro, on supprime cette verification.
+         if etape.sdnom[0] == '_':
+            etape.sdnom=sd.nom
       else:
+         # On est dans le cas de la creation d'un nouveau concept
          sd= etape.get_sd_prod()
-         if sd != None and etape.reuse == None:
-            # ATTENTION : On ne nomme la SD que dans le cas de non reutilisation d un concept
+         if sd != None :
             self.NommerSdprod(sd,nomsd)
       return sd
 
-   def NommerSdprod(self,sd,sdnom):
+   def NommerSdprod(self,sd,sdnom,restrict='non'):
       """ 
           Cette methode est appelee par les etapes internes de la macro
           La macro appelle le JDC pour valider le nommage
           On considere que l espace de nom est unique et géré par le JDC
           Si le nom est deja utilise, l appel leve une exception
+          Si restrict=='non', on insere le concept dans le contexte de la macro
+          Si restrict=='oui', on n'insere pas le concept dans le contexte de la macro
       """
+      # Normalement, lorsqu'on appelle cette methode, on ne veut nommer que des concepts nouvellement crees.
+      # Le filtrage sur les concepts a creer ou a ne pas creer est fait dans la methode
+      # create_sdprod. La seule chose a verifier apres conversion eventuelle du nom
+      # est de verifier que le nom n'est pas deja attribue. Ceci est fait en delegant
+      # au JDC par l'intermediaire du parent.
+
       #XXX attention inconsistence : prefix et gcncon ne sont pas 
       # définis dans le package Noyau. La methode NommerSdprod pour
       # les macros devrait peut etre etre déplacée dans Build ???
+
       if CONTEXT.debug : print "MACRO.NommerSdprod: ",sd,sdnom
       if hasattr(self,'prefix'):
         # Dans le cas de l'include_materiau on ajoute un prefixe au nom du concept
         if sdnom != self.prefix:sdnom=self.prefix+sdnom
+
       if self.Outputs.has_key(sdnom):
         # Il s'agit d'un concept de sortie de la macro produit par une sous commande
         sdnom=self.Outputs[sdnom].nom
@@ -377,14 +433,21 @@ class MACRO_ETAPE(N_ETAPE.ETAPE):
           sdnom=self.gcncon('.')
         else:
           sdnom=self.gcncon('_')
-      if self.sd != None and self.sd.nom == sdnom :
-        # Il s'agit du concept produit par la macro, il a deja ete nomme.
-        # On se contente de donner le meme nom au concept produit par la sous commande
-        # sans passer par la routine de nommage
-        sd.nom=sdnom
       else:
-        # On propage le nommage au contexte superieur
-        self.parent.NommerSdprod(sd,sdnom)
+        # On est dans le cas d'un nom de concept global. 
+        pass
+
+      if restrict == 'non':
+         # On demande le nommage au parent mais sans ajout du concept dans le contexte du parent
+         # car on va l'ajouter dans le contexte de la macro
+         self.parent.NommerSdprod(sd,sdnom,restrict='oui')
+         # On ajoute dans le contexte de la macro les concepts nommes
+         # Ceci est indispensable pour les CO (macro) dans un INCLUDE
+         self.g_context[sdnom]=sd
+      else:
+         # La demande de nommage vient probablement d'une macro qui a mis
+         # le concept dans son contexte. On ne traite plus que le nommage (restrict="oui")
+         self.parent.NommerSdprod(sd,sdnom,restrict='oui')
 
    def delete_concept_after_etape(self,etape,sd):
       """
index 9792b2c7cdcd07a1023b800b97d723dfbb6162c4..0b05c2ded83be1fdd79e57891875b6108bc7938e 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_MCBLOC Noyau  DATE 27/03/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 MCBLOC qui sert à controler la valeur
     d'un bloc de mots-clés par rapport à sa définition portée par un objet
index 402c0b3e0faec833f87fd25c2c8ffaff403b04f1..da0d0b6a7009759201a3790bc70bcbdbac1f8b56 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_MCCOMPO Noyau  DATE 29/05/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 MCCOMPO qui sert à factoriser les comportements 
     des OBJECT composites
@@ -60,7 +80,9 @@ class MCCOMPO(N_OBJECT.OBJECT):
       dico_valeurs = self.cree_dict_valeurs(mc_liste)
       for k,v in self.definition.entites.items():
          if v.label != 'BLOC':continue
-         if v.verif_presence(dico_valeurs):
+         # condition and a or b  : Equivalent de l'expression :  condition ? a : b du langage C
+         globs= self.jdc and self.jdc.condition_context or {}
+         if v.verif_presence(dico_valeurs,globs):
             # Si le bloc existe :
             #        1- on le construit
             #        2- on l'ajoute à mc_liste
@@ -157,8 +179,10 @@ class MCCOMPO(N_OBJECT.OBJECT):
       # Il nous reste à évaluer la présence des blocs en fonction du contexte qui a changé
       for k,v in self.definition.entites.items():
         if v.label != 'BLOC' : continue
-        if v.verif_presence(dico):
-          # le bloc k doit être présent : on crée temporairement l'objet MCBLOC correspondant
+        # condition and a or b  : Equivalent de l'expression :  condition ? a : b du langage C
+        globs= self.jdc and self.jdc.condition_context or {}
+        if v.verif_presence(dico,globs):
+          # le bloc k doit etre présent : on crée temporairement l'objet MCBLOC correspondant
           # on lui passe un parent égal à None pour qu'il ne soit pas enregistré
           bloc = v(nom=k,val=None,parent=None)
           dico_bloc = bloc.cree_dict_valeurs()
@@ -203,7 +227,7 @@ class MCCOMPO(N_OBJECT.OBJECT):
    def supprime(self):
       """ 
          Méthode qui supprime toutes les références arrières afin que l'objet puisse
-         être correctement détruit par le garbage collector
+         etre correctement détruit par le garbage collector
       """
       N_OBJECT.OBJECT.supprime(self)
       for child in self.mc_liste :
index a312edbb815195ea082ddd4633526029e987af27..6cc2eca74ee36dd2fc4d283ca3f2faa2670c5d9f 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_MCFACT Noyau  DATE 27/03/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 MCFACT qui sert à controler la valeur
     d'un mot-clé facteur par rapport à sa définition portée par un objet
index 43f267f0bd76138491ba138353fbff53d5d8a876..88fc4ac16543dceeeeb4e0c55c45ca01a03ab128 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_MCLIST Noyau  DATE 27/03/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 MCList qui sert à controler la valeur
     d'une liste de mots-clés facteur par rapport à sa définition portée par un objet
@@ -44,7 +64,7 @@ class MCList(UserList.UserList):
    def supprime(self):
       """ 
          Méthode qui supprime toutes les références arrières afin que l'objet puisse
-         être correctement détruit par le garbage collector 
+         etre correctement détruit par le garbage collector 
       """
       self.parent = None
       self.etape = None
@@ -73,7 +93,7 @@ class MCList(UserList.UserList):
         if k == name:
           if v.defaut != None : return v(None,k,None)
       # si on passe ici, c'est que l'on demande un fils qui n'est pas possible --> erreur
-      #print "Erreur : %s ne peut être un descendant de %s" %(name,self.nom)
+      #print "Erreur : %s ne peut etre un descendant de %s" %(name,self.nom)
       return None
 
    def isBLOC(self):
index 4816f482d0f764d8e262e985a991c485a81888ea..fc940f7d84b7eb33a0b14bafe42a7086181e959c 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_MCSIMP Noyau  DATE 27/03/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 MCSIMP qui sert à controler la valeur
     d'un mot-clé simple par rapport à sa définition portée par un objet
index fde96fa0cfbc0515738b64eeff3b50c845eb1637..487127900413171f3b81c1823b6271fdcd1684d8 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_OBJECT Noyau  DATE 27/03/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 OBJECT classe mère de tous les objets
     servant à controler les valeurs par rapport aux définitions
@@ -27,7 +47,7 @@ class OBJECT:
    def supprime(self):
       """ 
          Méthode qui supprime les références arrières suffisantes pour
-         que l'objet puisse être correctement détruit par le 
+         que l'objet puisse etre correctement détruit par le 
          garbage collector
       """
       self.parent = None
index f7daa99a75fc83711736770967ea4d1f9bc9c19a..dd9812e839474d17733fb2d80524e6c4f78e7c8c 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_OPER Noyau  DATE 27/03/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 de definition OPER
     qui permet de spécifier les caractéristiques d'un opérateur
@@ -39,7 +59,7 @@ class OPER(N_ENTITE.ENTITE):
                         non répétable ne doit apparaitre qu'une fois dans une exécution. C'est du ressort
                         de l'objet gérant le contexte d'exécution de vérifier cette contrainte.
 
-    - fr   : commentaire associé en français
+    - fr   : commentaire associé en francais
 
     - ang : commentaire associé en anglais
 
@@ -50,7 +70,7 @@ class OPER(N_ENTITE.ENTITE):
     - op_init : cet attribut vaut None ou une fonction. Si cet attribut ne vaut pas None, cette
                       fonction est exécutée lors des phases d'initialisation de l'étape associée.
 
-    - niveau : indique le niveau dans lequel est rangé l'opérateur. Les opérateurs peuvent être
+    - niveau : indique le niveau dans lequel est rangé l'opérateur. Les opérateurs peuvent etre
                      rangés par niveau. Ils apparaissent alors exclusivement dans leur niveau de rangement.
                      Si niveau vaut None, l'opérateur est rangé au niveau global.
 
@@ -120,17 +140,17 @@ class OPER(N_ENTITE.ENTITE):
           Méthode de vérification des attributs de définition
       """
       if type(self.regles) != types.TupleType :
-        self.cr.fatal("L'attribut 'regles' doit être un tuple : %s" %`self.regles`)
+        self.cr.fatal("L'attribut 'regles' doit etre un tuple : %s" %`self.regles`)
       if type(self.fr) != types.StringType :
-        self.cr.fatal("L'attribut 'fr' doit être une chaîne de caractères : %s" %`self.fr`)
+        self.cr.fatal("L'attribut 'fr' doit etre une chaine de caractères : %s" %`self.fr`)
       if self.reentrant not in ('o','n','f'):
         self.cr.fatal("L'attribut 'reentrant' doit valoir 'o','n' ou 'f' : %s" %`self.reentrant`)
       if type(self.docu) != types.StringType :
-        self.cr.fatal("L'attribut 'docu' doit être une chaîne de caractères : %s" %`self.docu` )
+        self.cr.fatal("L'attribut 'docu' doit etre une chaine de caractères : %s" %`self.docu` )
       if type(self.nom) != types.StringType :
-        self.cr.fatal("L'attribut 'nom' doit être une chaîne de caractères : %s" %`self.nom`)
+        self.cr.fatal("L'attribut 'nom' doit etre une chaine de caractères : %s" %`self.nom`)
       if type(self.op) != types.IntType :
-        self.cr.fatal("L'attribut 'op' doit être un entier signé : %s" %`self.op`)
+        self.cr.fatal("L'attribut 'op' doit etre un entier signé : %s" %`self.op`)
       self.verif_cata_regles()
 
    def supprime(self):
index 3a35d98fc8cbaa4d54f4382f8d1010527206683d..173070fb25fe7d4c5ad5394c6e0016d4420b6d2a 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_PROC Noyau  DATE 27/03/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 de definition PROC
     qui permet de spécifier les caractéristiques d'une procédure
@@ -34,7 +54,7 @@ class PROC(N_ENTITE.ENTITE):
                         non répétable ne doit apparaitre qu'une fois dans une exécution. C'est du ressort
                         de l'objet gérant le contexte d'exécution de vérifier cette contrainte.
 
-    - fr   : commentaire associé en français
+    - fr   : commentaire associé en francais
 
     - ang : commentaire associé en anglais
 
@@ -45,7 +65,7 @@ class PROC(N_ENTITE.ENTITE):
     - op_init : cet attribut vaut None ou une fonction. Si cet attribut ne vaut pas None, cette
                       fonction est exécutée lors des phases d'initialisation de l'étape associée.
 
-    - niveau : indique le niveau dans lequel est rangé l'opérateur. Les opérateurs peuvent être
+    - niveau : indique le niveau dans lequel est rangé l'opérateur. Les opérateurs peuvent etre
                      rangés par niveau. Ils apparaissent alors exclusivement dans leur niveau de rangement.
                      Si niveau vaut None, l'opérateur est rangé au niveau global.
 
@@ -112,17 +132,17 @@ class PROC(N_ENTITE.ENTITE):
           Méthode de vérification des attributs de définition
       """
       if type(self.regles) != types.TupleType :
-        self.cr.fatal("L'attribut 'regles' doit être un tuple : %s" %`self.regles`)
+        self.cr.fatal("L'attribut 'regles' doit etre un tuple : %s" %`self.regles`)
       if type(self.fr) != types.StringType :
-        self.cr.fatal("L'attribut 'fr' doit être une chaîne de caractères : %s" %`self.fr`)
+        self.cr.fatal("L'attribut 'fr' doit etre une chaine de caractères : %s" %`self.fr`)
       if self.reentrant not in ('o','n','f'):
         self.cr.fatal("L'attribut 'reentrant' doit valoir 'o','n' ou 'f' : %s" %`self.reentrant`)
       if type(self.docu) != types.StringType :
-        self.cr.fatal("L'attribut 'docu' doit être une chaîne de caractères : %s" %`self.docu` )
+        self.cr.fatal("L'attribut 'docu' doit etre une chaine de caractères : %s" %`self.docu` )
       if type(self.nom) != types.StringType :
-        self.cr.fatal("L'attribut 'nom' doit être une chaîne de caractères : %s" %`self.nom`)
+        self.cr.fatal("L'attribut 'nom' doit etre une chaine de caractères : %s" %`self.nom`)
       if type(self.op) != types.IntType :
-        self.cr.fatal("L'attribut 'op' doit être un entier signé : %s" %`self.op`)
+        self.cr.fatal("L'attribut 'op' doit etre un entier signé : %s" %`self.op`)
       self.verif_cata_regles()
 
    def supprime(self):
index 3ebc123c45293c575ca9fd0c3d4821588361c62e..c055c24624a67fb6c47bf2bda60ff78d37c7bfc7 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_PROC_ETAPE Noyau  DATE 27/03/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 PROC_ETAPE qui sert à vérifier et à exécuter
     une procédure
@@ -94,7 +114,7 @@ class PROC_ETAPE(N_ETAPE.ETAPE):
    def supprime(self):
       """
          Méthode qui supprime toutes les références arrières afin que l'objet puisse
-         être correctement détruit par le garbage collector
+         etre correctement détruit par le garbage collector
       """
       N_MCCOMPO.MCCOMPO.supprime(self)
       self.jdc=None
index c1e64735c10a7c2dc65736afd9dc7743ff9dcaf0..e3d6878dc894176a899788a0d2ce589396a185a0 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_REGLE Noyau  DATE 27/03/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 mere pour les classes de definition des regles d exclusion.
 
index f605ebb10bbed08c350d64870a9477ef039f1274..abcccfd614906308a721829ff162fd6962be78bd 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_SIMP Noyau  DATE 27/03/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 de definition SIMP
     qui permet de spécifier les caractéristiques des mots clés simples
 """
@@ -82,21 +102,21 @@ class SIMP(N_ENTITE.ENTITE):
       """
       if type(self.min) != types.IntType :
          if self.min != '**':
-            self.cr.fatal("L'attribut 'min' doit être un entier : "+`self.min`)
+            self.cr.fatal("L'attribut 'min' doit etre un entier : "+`self.min`)
       if type(self.max) != types.IntType :
          if self.max != '**' :
-            self.cr.fatal("L'attribut 'max' doit être un entier : "+`self.max`)
+            self.cr.fatal("L'attribut 'max' doit etre un entier : "+`self.max`)
       if self.min > self.max :
          self.cr.fatal("Nombres d'occurrence min et max invalides : %s %s" %(`self.min`,`self.max`))
       if type(self.fr) != types.StringType :
-         self.cr.fatal("L'attribut 'fr' doit être une chaîne de caractères : %s" +`self.fr`)
+         self.cr.fatal("L'attribut 'fr' doit etre une chaine de caractères : %s" +`self.fr`)
       if self.statut not in ['o','f','c','d']:
          self.cr.fatal("L'attribut 'statut' doit valoir 'o','f','c' ou 'd' : %s" %`self.statut`)
       if self.homo != 0 and self.homo != 1 :
          self.cr.fatal("L'attribut 'homo' doit valoir 0 ou 1 : %s" %`self.homo`)
       if self.into != None :
          if type(self.into) != types.TupleType :
-            self.cr.fatal("L'attribut 'into' doit être un tuple : %s" %`self.into`)
+            self.cr.fatal("L'attribut 'into' doit etre un tuple : %s" %`self.into`)
       if self.position not in ['local','global','global_jdc']:
          self.cr.fatal("L'attribut 'position' doit valoir 'local','global' ou 'global_jdc' : %s" %`self.position`)
 
index 4833ced726d1e71613662970ce6947192e3ab079..8b98f02c7df9729090db3e6f1b62407635d125ca 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N__F Noyau  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 import UserDict
 
 class _F(UserDict.UserDict):
index dab93babf0a9711344806b520d2a44c232aef17e..0909cfabcc783bd7d997388fe9e14f41fb10aa5b 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF N_utils Noyau  DATE 27/03/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 des fonctions utilitaires
 """
@@ -64,10 +84,10 @@ def prbanner(s):
 
 def repr_float(valeur):
   """ 
-      Cette fonction représente le réel valeur comme une chaîne de caractères
+      Cette fonction représente le réel valeur comme une chaine de caractères
       sous forme mantisse exposant si nécessaire cad si le nombre contient plus de
       5 caractères
-      NB : valeur est un réel au format Python ou une chaîne de caractères représentant un réel
+      NB : valeur est un réel au format Python ou une chaine de caractères représentant un réel
   """
   if type(valeur) == types.StringType : valeur = eval(valeur)
   if valeur == 0. : return '0.0'
index 13f30aa5307dc2967029f9d03c1d579c52f7c646..7a9e6429013661b03132f66b3284d67371f06dc9 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF __init__ Noyau  DATE 27/03/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 package fournit les classes de base d'EFICAS.
     Ces classes permettent d'effectuer quelques opérations basiques :
index 8c5006b1d26e2d13274f170955d325eef967a9d9..104dc80abdbe017f08c7444fece32cfc8aa1ff37 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF context Noyau  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 _root=None
 _cata=None
 debug=0
index 566a52ffb7916e30b9113110964774d5fbaf0ad3..057badd4a33a4321b0cad379cce62e79a88ff833 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF nommage Noyau  DATE 27/03/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 sert à nommer les concepts produits par les commandes.
    Le nom du concept est obtenu en appelant la fonction GetNomConceptResultat
index d57cca8b36fdebcca7cd168fd07ac3c32102c9da..41ab579d654420d07fc8ab15b8f61274dba16d38 100644 (file)
@@ -1,3 +1,24 @@
-version = "6.2.24"
-date = "15/03/2002"
-
+#@ MODIF properties Accas DATE 29/08/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# RESPONSABLE D6BHHHH J-P.LEFEBVRE
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2001  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.      
+# ======================================================================
+#     IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR
+#     DE LA VERSION DU CODE_ASTER ASSOCIE
+#----------------------------------------------------------------------
+version = "6.3.14"
+date = "29/08/2002"
index fb404197007ef3a49d7ca41b7f78411e052dea9f..20fe14389dbbc673cf84ceca3d1c5df134c9f3f1 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_AU_MOINS_UN Validation  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 
 class AU_MOINS_UN:
    """
index 6c7439a7bb9445a4b82e4a76e6e708f6db9f2743..ca4fc4bc5886d0033611740d24c8d3cc4de7b74a 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_A_CLASSER Validation  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 
 import types
 
@@ -16,13 +36,13 @@ class A_CLASSER:
       elif type(args[0]) == types.StringType:
         self.args0 = (args[0],)
       else :
-        print "Le premier argument de :",args," doit être un tuple ou une string"
+        print "Le premier argument de :",args," doit etre un tuple ou une string"
       if type(args[1]) == types.TupleType:
         self.args1 = args[1]
       elif type(args[1]) == types.StringType:
         self.args1 = (args[1],)
       else :
-        print "Le deuxième argument de :",args," doit être un tuple ou une string"
+        print "Le deuxième argument de :",args," doit etre un tuple ou une string"
       # création de la liste des mcs
       liste = []
       for arg0 in self.args0:
@@ -62,7 +82,7 @@ class A_CLASSER:
               couple.append(nom)
       if len(couple) > 0 :
         l_couples.append(tuple(couple))
-      # l_couples peut être vide si l'on n'a pas réussi à trouver au moins un
+      # l_couples peut etre vide si l'on n'a pas réussi à trouver au moins un
       # élément de self.mcs
       if len(l_couples) == 0 :
         message = "- Il faut qu'au moins un objet de la liste : "+`self.args0`+\
@@ -76,7 +96,7 @@ class A_CLASSER:
         if len(couple) == 1 :
           # on a un 'faux' couple
           if couple[0] not in self.args1:
-            text = text+"- L'objet : "+couple[0]+" doit être suivi d'un objet de la liste : "+\
+            text = text+"- L'objet : "+couple[0]+" doit etre suivi d'un objet de la liste : "+\
                    `self.args1`+'\n'
             test = 0
           else :
@@ -84,11 +104,11 @@ class A_CLASSER:
               # ce n'est pas le seul couple --> licite
               break
             else :
-              text = text+"- L'objet : "+couple[0]+" doit être précédé d'un objet de la liste : "+\
+              text = text+"- L'objet : "+couple[0]+" doit etre précédé d'un objet de la liste : "+\
                    `self.args0`+'\n'
               test = 0
         elif couple not in self.liste_couples :
-          text = text+"- L'objet : "+couple[0]+" ne peut être suivi de : "+couple[1]+'\n'
+          text = text+"- L'objet : "+couple[0]+" ne peut etre suivi de : "+couple[1]+'\n'
           test = 0
       return text,test
 
index d672232aa2c2f649557d178f7b8a18973ee86ca7..86665652c321d67dc1e5a582367570bbccaf17d8 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_ENSEMBLE Validation  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 
 class ENSEMBLE:
    """
@@ -28,7 +48,7 @@ class ENSEMBLE:
         for mc in self.mcs:
           if mc != pivot :
             if not args.has_key(mc):
-              text = text + "- "+ pivot + " étant présent, "+mc+" doit être présent"+'\n'
+              text = text + "- "+ pivot + " étant présent, "+mc+" doit etre présent"+'\n'
               test = 0
       return text,test
 
index 1152f81ff4d7b94b1431fd98a73e344b2a020a01..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
@@ -7,7 +27,7 @@
    utilisée par héritage multiple pour composer les traitements.
 """
 # Modules Python
-import string,types
+import string,types,sys
 import traceback
 
 # Modules EFICAS
@@ -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 :
@@ -118,15 +138,24 @@ class ETAPE(V_MCCOMPO.MCCOMPO):
           # Erreur pendant le calcul du type retourné
           if CONTEXT.debug:traceback.print_exc()
           self.sd=None
-          if cr == 'oui' : self.cr.fatal('Impossible d affecter un type au résultat')
+          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:]))
           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 ?
@@ -138,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 fa720165e3c47ff09ded5509df816949130fe6e1..7bed078d017746cf2d05c0074c265fc6d5214c8e 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_EXCLUS Validation  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 
 class EXCLUS:
    """
index 1f4edeaf281fa2bd05b1f379fb2adf05d62d3d6c..38d8056f2fd0a2b09d644db6dcb8c82556397a3e 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_JDC Validation  DATE 29/05/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 JDC qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type JDC
@@ -25,11 +45,11 @@ class JDC(V_MCCOMPO.MCCOMPO):
       self.cr.purge()
       self.cr.debut="DEBUT CR validation : "+self.nom
       self.cr.fin="FIN CR validation :"+self.nom
-      self.state = 'modified'
-      self.isvalid(cr='oui')
       for e in self.etapes :
         if e.isactif():
           self.cr.add(e.report())
+      self.state = 'modified'
+      self.isvalid(cr='oui')
       return self.cr
 
    def isvalid(self,cr='non'):
index b0531a12c25ed673f7cb813a5a59eacaf86ae941..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
@@ -7,7 +27,7 @@
    utilisée par héritage multiple pour composer les traitements.
 """
 # Modules Python
-import string,types
+import string,types,sys
 import traceback
 
 # Modules EFICAS
@@ -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 :
@@ -120,15 +140,25 @@ class MACRO_ETAPE(V_ETAPE.ETAPE):
           # Erreur pendant le calcul du type retourné
           if CONTEXT.debug:traceback.print_exc()
           self.sd=None
-          if cr == 'oui' : self.cr.fatal('Impossible d affecter un type au résultat')
+          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:]))
           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 ?
@@ -142,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):
       """ 
index 09a67230c4e363fc0bacf3dfb5f350abfa48526e..16b695207249719e3031c48f20e7990b8e00fbd0 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_MCBLOC Validation  DATE 27/03/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 MCBLOC qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MCBLOC
index 4913e48d46b4b8adf04ec1be349334aee1c2222b..7f9b4eb0785cfe3bbb97e67a34a86a204c58feaa 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_MCCOMPO Validation  DATE 29/05/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  de base MCCOMPO qui sert à factoriser
    les traitements des objets composites de type OBJECT
@@ -36,14 +56,14 @@ class MCCOMPO:
       self.cr=self.CR()
       self.cr.debut = self.txt_nat+self.nom
       self.cr.fin = "Fin "+self.txt_nat+self.nom
+      for child in self.mc_liste:
+        self.cr.add(child.report())
       self.state = 'modified'
       try:
         self.isvalid(cr='oui')
       except AsException,e:
         if CONTEXT.debug : traceback.print_exc()
         self.cr.fatal(string.join((self.txt_nat,self.nom,str(e))))
-      for child in self.mc_liste:
-        self.cr.add(child.report())
       return self.cr
 
    def verif_regles(self):
index 858e53f7784272738912bdec8146b7f061f9b14f..6d15b036706a98c3b83ed865a02442e4f02c2cf8 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_MCFACT Validation  DATE 27/03/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 MCFACT qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MCFACT
index 0dcc38f316ed1ff01fb764f332459132c5f83d43..88e2cfd36aeda4056397a7092de607a6d31aa674 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_MCLIST Validation  DATE 29/05/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 MCList qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MCList
@@ -44,7 +64,7 @@ class MCList:
         num = num+1
         if not i.isvalid():
           if cr=='oui':
-            self.cr.fatal(string.join(["L'occurrence n°",`num`," du mot-clé facteur :",self.nom," n'est pas valide"]))
+            self.cr.fatal(string.join(["L'occurrence n",`num`," du mot-clé facteur :",self.nom," n'est pas valide"]))
           test = 0
       return test
 
@@ -54,6 +74,8 @@ class MCList:
       """
       self.cr=self.CR( debut = "Mot-clé facteur multiple : "+self.nom,
                   fin = "Fin Mot-clé facteur multiple : "+self.nom)
+      for i in self.data:
+        self.cr.add(i.report())
       # XXX j'ai mis l'état en commentaire car il n'est utilisé ensuite
       #self.state = 'modified'
       try :
@@ -61,7 +83,5 @@ class MCList:
       except AsException,e:
         if CONTEXT.debug : traceback.print_exc()
         self.cr.fatal(string.join(["Mot-clé facteur multiple : ",self.nom,str(e)]))
-      for i in self.data:
-        self.cr.add(i.report())
       return self.cr
 
index 74af972a1c42084f155942ee5f5d971c7506d1e3..462147d5531d6a154c836fd0527bd9043f5c4153 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_MCSIMP Validation  DATE 27/03/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 MCSIMP qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MCSIMP
@@ -81,24 +101,24 @@ class MCSIMP:
 
    def verif_card(self,cr='non'):
       """ 
-         un mot-clé simple ne peut être répété :
-          la cardinalité ici s'entend par la vérification que le nombre d'arguments de self.valeur
-          est bien compris entre self.min et self.max dans le cas où il s'agit d'une liste
+         un mot-clé simple ne peut etre répété :
+           la cardinalité ici s'entend par la vérification que le nombre d'arguments de self.valeur
+           est bien compris entre self.min et self.max dans le cas où il s'agit d'une liste
       """
       card = 1
       min=self.definition.min
       max=self.definition.max
       if type(self.valeur) in (types.ListType,types.TupleType) and 'C' not in self.definition.type :
-       if len(self.valeur) < min or len(self.valeur)>max:
+        if len(self.valeur) < min or len(self.valeur)>max:
           if cr == 'oui':
             self.cr.fatal("Nombre d'arguments %s incorrects pour %s (min = %s, max = %s)" %(`self.valeur`,self.nom,min,max))
           card = 0
       else:
-       if self.valeur == None :
+        if self.valeur == None :
           if min >= 1 :
             # on n'a pas d'objet et on en attend au moins un
             card=0
-       else :
+        else :
           if min > 1:
             # on n'a qu'un objet et on en attend plus d'1
             card = 0
@@ -116,17 +136,17 @@ class MCSIMP:
          
       """
       if val != None:
-       valeur = val
+        valeur = val
       else:
-       valeur = self.valeur
+        valeur = self.valeur
       if valeur == None :
-       if cr == 'oui':
+        if cr == 'oui':
           self.cr.fatal("None n'est pas une valeur autorisée")
-       return 0
+        return 0
       if type(valeur) == types.TupleType:
-       # on peut avoir à faire à un complexe ou une liste de valeurs ...
-       if self.is_complexe(valeur) : return 1
-       else:
+        # on peut avoir à faire à un complexe ou une liste de valeurs ...
+        if self.is_complexe(valeur) : return 1
+        else:
           for val in valeur:
             if not self.verif_type(val=val,cr=cr) : return 0
           return 1
@@ -135,26 +155,26 @@ class MCSIMP:
             if not self.verif_type(val=val,cr=cr) : return 0
         return 1
       else:
-       # on n'a pas de tuple ...il faut tester sur tous les types ou les valeurs possibles
+        # on n'a pas de tuple ...il faut tester sur tous les types ou les valeurs possibles
         # XXX Pourquoi into est il traité ici et pas seulement dans verif_into ???
-       if self.definition.into != None :
+        if self.definition.into != None :
           try:
             if valeur in self.definition.into :
               return 1
             else:
               if cr == 'oui':
-               self.cr.fatal("%s n'est pas une valeur autorisée" %valeur)
+                self.cr.fatal("%s n'est pas une valeur autorisée" %valeur)
               return 0
           except:
             print "problème avec :",self.nom
             print 'valeur =',valeur
             return 0
-       for type_permis in self.definition.type:
+        for type_permis in self.definition.type:
           if self.compare_type(valeur,type_permis) : return 1
-       # si on sort de la boucle précédente par ici c'est que l'on n'a trouvé aucun type valable --> valeur refusée
-       if cr =='oui':
+        # si on sort de la boucle précédente par ici c'est que l'on n'a trouvé aucun type valable --> valeur refusée
+        if cr =='oui':
           self.cr.fatal("%s n'est pas d'un type autorisé" %`valeur`)
-       return 0
+        return 0
 
    def verif_into(self,cr='non'):
       """
@@ -163,64 +183,64 @@ class MCSIMP:
       entre val_min et val_max
       """
       if self.definition.into == None :
-       #on est dans le cas d'un ensemble continu de valeurs possibles (intervalle)
-       if type(self.valeur)==types.TupleType :
+        #on est dans le cas d'un ensemble continu de valeurs possibles (intervalle)
+        if type(self.valeur)==types.TupleType :
           test = 1
           for val in self.valeur :
             if type(val)!=types.StringType and type(val)!=types.InstanceType:
               test = test*self.isinintervalle(val,cr=cr)
           return test
-       else :
+        else :
           val = self.valeur
           if type(val)!=types.StringType and type(val)!=types.InstanceType:
             return self.isinintervalle(self.valeur,cr=cr)
           else :
             return 1
       else :
-       # on est dans le cas d'un ensemble discret de valeurs possibles (into)
-       if type(self.valeur) == types.TupleType :
+        # on est dans le cas d'un ensemble discret de valeurs possibles (into)
+        if type(self.valeur) == types.TupleType :
           for e in self.valeur:
             if e not in self.definition.into:
               if cr=='oui':
-               self.cr.fatal(string.join(("La valeur :",`e`," n'est pas permise pour le mot-clé :",self.nom)))
+                self.cr.fatal(string.join(("La valeur :",`e`," n'est pas permise pour le mot-clé :",self.nom)))
               return 0
-       else:
+        else:
           if self.valeur == None or self.valeur not in self.definition.into:
             if cr=='oui':
               self.cr.fatal(string.join(("La valeur :",`self.valeur`," n'est pas permise pour le mot-clé :",self.nom)))
             return 0
-       return 1
+        return 1
 
    def is_complexe(self,valeur):
       """ Retourne 1 si valeur est un complexe, 0 sinon """
       if type(valeur) == types.StringType :
-       # on teste une valeur issue d'une entry (valeur saisie depuis EFICAS)
+        # on teste une valeur issue d'une entry (valeur saisie depuis EFICAS)
         #XXX Il serait peut etre plus judicieux d'appeler une méthode de self.jdc
         #XXX qui retournerait l'objet résultat de l'évaluation
         #XXX ou meme de faire cette evaluation a l'exterieur de cette classe ??
         if not self.jdc :return 0
-       try :
+        try :
           valeur = eval(valeur,self.jdc.g_context)
-       except:
+        except:
           return 0
       if type(valeur) == types.InstanceType :
         #XXX je n'y touche pas pour ne pas tout casser mais il serait
         #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('C'), par exemple
-       if valeur.__class__.__name__ in ('EVAL','complexe'):
+        if valeur.__class__.__name__ in ('EVAL','complexe'):
           return 1
-       elif valeur.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'):
+        elif valeur.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'):
           # il faut tester si la valeur du parametre est un entier
           #XXX ne serait ce pas plutot complexe ???? sinon expliquer
           return self.is_entier(valeur.valeur)
-       else:
+        else:
           print "Objet non reconnu dans is_complexe %s" %`valeur`
           return 0
       elif type(valeur) != types.TupleType :
-       return 0
+        return 0
       else:
-       if len(valeur) != 3 :
+        if len(valeur) != 3 :
           return 0
-       else:
+        else:
           if type(valeur[0]) != types.StringType : return 0
           if string.strip(valeur[0]) not in ('RI','MP'):
             return 0
@@ -233,57 +253,57 @@ class MCSIMP:
       Retourne 1 si valeur est un reel, 0 sinon
       """
       if type(valeur) == types.StringType :
-       # on teste une valeur issue d'une entry (valeur saisie depuis EFICAS)
+        # on teste une valeur issue d'une entry (valeur saisie depuis EFICAS)
         if not self.jdc :return 0
-       try :
+        try :
           valeur = eval(valeur,self.jdc.g_context)
-       except:
+        except:
           return 0
       if type(valeur) == types.InstanceType :
         #XXX je n'y touche pas pour ne pas tout casser mais il serait
         #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('R'), par exemple
         #XXX ou valeur.is_reel()
         #XXX ou encore valeur.compare(self.is_reel)
-       if valeur.__class__.__name__ in ('EVAL','reel') :
+        if valeur.__class__.__name__ in ('EVAL','reel') :
           return 1
-       elif valeur.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'):
+        elif valeur.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'):
           # il faut tester si la valeur du parametre est un réel
           return self.is_reel(valeur.valeur)
-       else:
+        else:
           print "Objet non reconnu dans is_reel %s" %`valeur`
           return 0
       elif type(valeur) not in (types.IntType,types.FloatType,types.LongType):
-       # ce n'est pas un réel
-       return 0
+        # ce n'est pas un réel
+        return 0
       else:
-       return 1
+        return 1
 
    def is_entier(self,valeur):
       """ Retourne 1 si valeur est un entier, 0 sinon """
       if type(valeur) == types.StringType :
-       # on teste une valeur issue d'une entry (valeur saisie depuis EFICAS)
+        # on teste une valeur issue d'une entry (valeur saisie depuis EFICAS)
         if not self.jdc :return 0
-       try :
+        try :
           valeur = eval(valeur,self.jdc.g_context)
-       except:
+        except:
           return 0
       if type(valeur) == types.InstanceType :
         #XXX je n'y touche pas pour ne pas tout casser mais il serait
         #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('I'), par exemple
-       if valeur.__class__.__name__ in ('EVAL','entier') :
+        if valeur.__class__.__name__ in ('EVAL','entier') :
           return 1
-       elif valeur.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'):
+        elif valeur.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'):
           # il faut tester si la valeur du parametre est un entier
           return self.is_entier(valeur.valeur)
-       else:
+        else:
           print "Objet non reconnu dans is_reel %s" %`valeur`
           return 0
       elif type(valeur) not in (types.IntType,types.LongType):
-       # ce n'est pas un entier
-       return 0
+        # ce n'est pas un entier
+        return 0
       else:
-       return 1
-       
+        return 1
+        
    def is_shell(self,valeur):
       """ 
           Retourne 1 si valeur est un shell, 0 sinon
@@ -291,9 +311,9 @@ class MCSIMP:
           On impose juste que valeur soit une string
       """
       if type(valeur) != types.StringType:
-       return 0
+        return 0
       else:
-       return 1
+        return 1
 
    def is_object_from(self,objet,classe):
       """ 
@@ -301,41 +321,41 @@ class MCSIMP:
            0 sinon 
       """
       if type(objet) != types.InstanceType :
-       if type(objet) == types.StringType:
+        if type(objet) == types.StringType:
           if not self.jdc :return 0
           try :
             objet = eval(objet,self.jdc.g_context)
             if type(objet) != types.InstanceType : return 0
           except:
             return 0
-       else:
+        else:
           return 0
       if not objet.__class__ == classe and not issubclass(objet.__class__,classe):
-       return 0
+        return 0
       else:
-       return 1
+        return 1
 
    def compare_type(self,valeur,type_permis):
       """
           Fonction booléenne qui retourne 1 si valeur est du type type_permis, 0 sinon
       """
       if type(valeur) == types.InstanceType and valeur.__class__.__name__ == 'PARAMETRE':
-       if type(valeur.valeur) == types.TupleType :
+        if type(valeur.valeur) == types.TupleType :
           # on a à faire à un PARAMETRE qui définit une liste d'items
           # --> on teste sur la première car on n'accepte que les liste homogènes
           valeur = valeur.valeur[0]
       if type_permis == 'R':
-       return self.is_reel(valeur)
+        return self.is_reel(valeur)
       elif type_permis == 'I':
-       return self.is_entier(valeur)
+        return self.is_entier(valeur)
       elif type_permis == 'C':
-       return self.is_complexe(valeur)
+        return self.is_complexe(valeur)
       elif type_permis == 'shell':
-       return self.is_shell(valeur)
+        return self.is_shell(valeur)
       elif type_permis == 'TXM':
-       if type(valeur) != types.InstanceType:
+        if type(valeur) != types.InstanceType:
           return type(valeur)==types.StringType
-       else:
+        else:
           #XXX je n'y touche pas pour ne pas tout casser mais il serait
           #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('TXM'), par exemple
           if valeur.__class__.__name__ == 'chaine' :
@@ -346,17 +366,17 @@ class MCSIMP:
           else:
             return 0
       elif type(type_permis) == types.ClassType:
-       # on ne teste pas certains objets de type GEOM , assd, ...
+        # on ne teste pas certains objets de type GEOM , assd, ...
         # On appelle la méthode de classe is_object de type_permis.
         # Comme valeur peut etre de n'importe quel type on utilise la fonction (is_object.im_func)
         # et non pas la methode (is_object) ce qui risquerait de provoquer des erreurs
         if type_permis.is_object.im_func(valeur):
           return 1
-       else :
+        else :
           return self.is_object_from(valeur,type_permis)
       else:
-       print "Type non encore géré %s" %`type_permis`
-       print self.nom,self.parent.nom,self.jdc.fichier
+        print "Type non encore géré %s" %`type_permis`
+        print self.nom,self.parent.nom,self.jdc.fichier
 
    def isinintervalle(self,valeur,cr='non'):
       """
@@ -364,27 +384,27 @@ class MCSIMP:
       le domaine de définition donné dans le catalogue, 0 sinon.
       """
       if type(valeur) not in (types.IntType,types.FloatType,types.LongType) :
-       return 1
+        return 1
       else :
-       min = self.definition.val_min
-       max = self.definition.val_max
-       if min == '**': min = valeur -1
-       if max == '**': max = valeur +1
-       if valeur < min or valeur > max :
+        min = self.definition.val_min
+        max = self.definition.val_max
+        if min == '**': min = valeur -1
+        if max == '**': max = valeur +1
+        if valeur < min or valeur > max :
           if cr=='oui':
             self.cr.fatal(string.join(("La valeur :",`valeur`," du mot-clé ",self.nom,\
                                        " est en dehors du domaine de validité [",`min`,",",`max`,"]")))
           return 0
-       else :
+        else :
           return 1
 
    def init_modif_up(self):
       """
          Propage l'état modifié au parent s'il existe et n'est l'objet 
-        lui-meme
+         lui-meme
       """
       if self.parent and self.parent != self :
-       self.parent.state = 'modified'
+        self.parent.state = 'modified'
 
    def report(self):
       """ génère le rapport de validation de self """
@@ -393,10 +413,10 @@ class MCSIMP:
       self.cr.fin = "Fin Mot-clé simple : "+self.nom
       self.state = 'modified'
       try:
-       self.isvalid(cr='oui')
+        self.isvalid(cr='oui')
       except AsException,e:
-       if CONTEXT.debug : traceback.print_exc()
-       self.cr.fatal(string.join(("Mot-clé simple : ",self.nom,str(e))))
+        if CONTEXT.debug : traceback.print_exc()
+        self.cr.fatal(string.join(("Mot-clé simple : ",self.nom,str(e))))
       return self.cr
 
 
index b6f01aec9ba9a24e98addecf4c0e91b190571dc8..84feda6b18ceba225bedb60fcf7974501ba1a073 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_PRESENT_ABSENT Validation  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 
 class PRESENT_ABSENT: 
    """
index 2216e93ae2169f4753484afd47265c2ccedf3ddd..f192e035c24c254148d6d31024ad31cb5bbb5b92 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_PRESENT_PRESENT Validation  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 
 class PRESENT_PRESENT:
    """
index 4120de8352ea7a5d9caeb2ba54cac5b62bacd660..7b6b798a73ac15bd4a6831bb666e46c823ffe909 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_PROC_ETAPE Validation  DATE 27/03/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 PROC_ETAPE qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type PROC_ETAPE
index 93846abc9274a78c474ed3d0be9fc195cf8144ea..31ca747811ff95b8a30910c3fdc2ba73e172346c 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF V_UN_PARMI Validation  DATE 27/03/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.      
+#                                                                       
+#                                                                       
+# ======================================================================
 
 class UN_PARMI:
    """
index bb26b859f6846e7ac37335dc0b4a4cd21dd1deaa..19f9a2941a90898dcd0861ecd19d270d24c4cdbc 100644 (file)
@@ -1,3 +1,23 @@
+#@ MODIF __init__ Validation  DATE 27/03/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 package contient la fonctionnalité de validation des objets de type OBJECT. 
    Cette fonctionnalité est implémentée sous la forme de classes de type MIXIN qui