]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
This commit was manufactured by cvs2git to create tag 'CCARDebutMod1809'. CCARDebutMod1809
authorcvs2git <renaud.nedelec@opencascade.com>
Thu, 18 Sep 2003 10:21:48 +0000 (10:21 +0000)
committercvs2git <renaud.nedelec@opencascade.com>
Thu, 18 Sep 2003 10:21:48 +0000 (10:21 +0000)
Sprout from master 2003-08-18 15:57:38 UTC eficas 'PN : correction de la fiche de bug A02003-143 (parametre dans une liste de reels).'
Cherrypick from I26 2003-09-18 10:21:47 UTC eficas 'Import dans la branche I26 de la version 7.1.16 modifiée par CCAR (au 18/9/2003)':
    Aster/Cata/Macro/__init__.py
    Aster/Cata/Macro/ajout_quad_gmsh.py
    Aster/Cata/Macro/macro_cara_poutre_ops.py
    Aster/Cata/Macro/pre_gmsh_ops.py
    Aster/Cata/__init__.py
    Aster/Cata/asterexec.py
    Aster/Cata/cata.py
    Aster/Cata/cata_STA5.py
    Aster/__init__.py
    Aster/ahlv100a.comm
    Aster/totalmod.comm
    Editeur/faqs.txt
    Editeur/icons/About24.gif
    Editeur/icons/Copy24.gif
    Editeur/icons/Cut24.gif
    Editeur/icons/Delete24.gif
    Editeur/icons/Help24.gif
    Editeur/icons/New24.gif
    Editeur/icons/Open24.gif
    Editeur/icons/Paste24.gif
    Editeur/icons/Save24.gif
    Editeur/icons/Zoom24.gif
    Editeur/icons/arrow_left.gif
    Editeur/icons/arrow_right.gif
    Editeur/icons/ast-green-ball.gif
    Editeur/icons/ast-green-los.gif
    Editeur/icons/ast-green-percent.gif
    Editeur/icons/ast-green-square.gif
    Editeur/icons/ast-green-text.gif
    Editeur/icons/ast-red-ball.gif
    Editeur/icons/ast-red-los.gif
    Editeur/icons/ast-red-percent.gif
    Editeur/icons/ast-red-square.gif
    Editeur/icons/ast-red-text.gif
    Editeur/icons/ast-white-percent.gif
    Editeur/icons/ast-white-square.gif
    Editeur/icons/ast-white-text.gif
    Editeur/icons/ast-yel-ball.gif
    Editeur/icons/ast-yel-los.gif
    Editeur/icons/ast-yel-percent.gif
    Editeur/icons/ast-yel-square.gif
    Editeur/icons/ast-yellow-text.gif
    Editeur/icons/code_aster.gif
    Editeur/icons/code_descartes.gif
    Editeur/icons/code_saturne.gif
    Editeur/icons/logo_edf.gif
    Editeur/icons/minusnode.gif
    Editeur/icons/plusnode.gif
    Exemples/__init__.py
    Exemples/cyclops/__init__.py
    Exemples/cyclops/main.py
    Exemples/cyclops2/__init__.py
    Exemples/cyclops2/main.py
    Exemples/cyclops3/__init__.py
    Exemples/cyclops3/cata.py
    Exemples/cyclops3/main.py
    Exemples/eficas/__init__.py
    Exemples/eficas/cas.py
    Exemples/eficas/cata.py
    Exemples/eficas/fort.11
    Exemples/eficas/main.py
    Exemples/ex1/__init__.py
    Exemples/ex1/main.py
    Exemples/ex10/__init__.py
    Exemples/ex10/main.py
    Exemples/ex11/__init__.py
    Exemples/ex12/__init__.py
    Exemples/ex12/cata.py
    Exemples/ex12/main.py
    Exemples/ex13/__init__.py
    Exemples/ex13/cata.py
    Exemples/ex13/main.py
    Exemples/ex14/__init__.py
    Exemples/ex14/cata.py
    Exemples/ex14/main.py
    Exemples/ex15/__init__.py
    Exemples/ex15/cata.py
    Exemples/ex15/cata1.py
    Exemples/ex15/main.py
    Exemples/ex18/__init__.py
    Exemples/ex18/totalmod.comm
    Exemples/ex19/__init__.py
    Exemples/ex19/ahlv100a.comm
    Exemples/ex19/main.py
    Exemples/ex19/titi.comm
    Exemples/ex2/__init__.py
    Exemples/ex2/main.py
    Exemples/ex20/__init__.py
    Exemples/ex20/ahlv100a.comm
    Exemples/ex20/main.py
    Exemples/ex20/prefs.py
    Exemples/ex21/__init__.py
    Exemples/ex21/ahlv100a.comm
    Exemples/ex21/check.py
    Exemples/ex22/README
    Exemples/ex22/__init__.py
    Exemples/ex22/main.py
    Exemples/ex22/main2.py
    Exemples/ex22/main3.py
    Exemples/ex22/titi.comm
    Exemples/ex22/totalmod.comm
    Exemples/ex22/toto.comm
    Exemples/ex22/tutu.comm
    Exemples/ex22/tyty.comm
    Exemples/ex23/__init__.py
    Exemples/ex23/ahlv100a.comm
    Exemples/ex23/main.py
    Exemples/ex23/main2.py
    Exemples/ex23/titi.comm
    Exemples/ex23/toto.comm
    Exemples/ex24/__init__.py
    Exemples/ex24/essai_saturne.py
    Exemples/ex24/essai_saturne2.py
    Exemples/ex24/essai_saturne4.py
    Exemples/ex24/include.py
    Exemples/ex24/kk.py
    Exemples/ex24/main.py
    Exemples/ex24/titi.comm
    Exemples/ex3/__init__.py
    Exemples/ex3/main.py
    Exemples/ex3/parse.py
    Exemples/ex3/toto.ini
    Exemples/ex4/__init__.py
    Exemples/ex4/main.py
    Exemples/ex4/toto.ini
    Exemples/ex4/toto.pyth
    Exemples/ex5/__init__.py
    Exemples/ex5/main.py
    Exemples/ex5/titi.ini
    Exemples/ex5/titi.pyth
    Exemples/ex5/toto.ini
    Exemples/ex5/toto.pyth
    Exemples/ex6/__init__.py
    Exemples/ex6/main.py
    Exemples/ex7/__init__.py
    Exemples/ex7/main.py
    Exemples/ex8/__init__.py
    Exemples/ex8/main.py
    Exemples/ex9/__init__.py
    Exemples/ex9/main.py
    Exemples/profile/__init__.py
    Exemples/profile/main.py
    Exemples/profile/resul
    Minicode/cata_saturne2.py
    Misc/Cyclops.py
    Misc/__init__.py
    Misc/timing.py
    Noyau/N_ASSD.py
    Noyau/N_CO.py
    Noyau/N_ENTITE.py
    Noyau/N_EVAL.py
    Noyau/N_Exception.py
    Noyau/N_FACT.py
    Noyau/N_FORM.py
    Noyau/N_FORM_ETAPE.py
    Noyau/N_GEOM.py
    Noyau/N_JDC_CATA.py
    Noyau/N_OBJECT.py
    Noyau/N_REGLE.py
    Noyau/N_SIMP.py
    Noyau/N__F.py
    Noyau/N_utils.py
    Noyau/__init__.py
    Noyau/context.py
    README
    Saturne/cata_saturne.py
    Saturne/editeur.ini
    Saturne/eficas_saturne.py
    Saturne/essai_saturne.py
    Saturne/essai_saturne2.py
    Saturne/essai_saturne4.py
    Tools/foztools/__init__.py
    Tools/foztools/foztools.py
    Tools/foztools/slider.py
    Validation/V_AU_MOINS_UN.py
    Validation/V_A_CLASSER.py
    Validation/V_ENSEMBLE.py
    Validation/V_EXCLUS.py
    Validation/V_JDC.py
    Validation/V_MCBLOC.py
    Validation/V_MCFACT.py
    Validation/V_MCLIST.py
    Validation/V_PRESENT_ABSENT.py
    Validation/V_PRESENT_PRESENT.py
    Validation/V_PROC_ETAPE.py
    Validation/V_UN_PARMI.py
    Validation/__init__.py
    convert/Parserv5/Makefile
    convert/Parserv5/README

Noyau/N_ENTITE.py
Noyau/N_FACT.py
Noyau/N_SIMP.py
Validation/V_JDC.py
Validation/V_MCBLOC.py
Validation/V_MCFACT.py
Validation/V_PROC_ETAPE.py

index b5b9d875513cdcf9540693b95cf4f5458b8bb6fd..d7f72c3df61c06bfc696d450654e7ad8017d50bb 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF N_ENTITE Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_ENTITE Noyau  DATE 09/09/2003   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -24,6 +24,7 @@
 """
 
 import N_CR
+import N_VALIDATOR
 
 class ENTITE:
    """
@@ -32,8 +33,9 @@ class ENTITE:
       Elle ne peut etre instanciee et doit d abord etre specialisee
    """
    CR=N_CR.CR
+   factories={'validator':N_VALIDATOR.validatorFactory}
 
-   def __init__(self):
+   def __init__(self,validators=None):
       """
          Initialise les deux attributs regles et entites d'une classe dérivée
          à : pas de règles et pas de sous-entités.
@@ -46,6 +48,10 @@ class ENTITE:
       """
       self.regles=()
       self.entites={}
+      if validators:
+         self.validators=self.factories['validator'](validators)
+      else:
+         self.validators=validators
 
    def affecter_parente(self):
       """
index 2d9455c03c2c14815add7e5daabf5d2ecfcf5107..0f3def1241ae07b660c769ed8cf75a8175fbffbc 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF N_FACT Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_FACT Noyau  DATE 09/09/2003   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -47,7 +47,7 @@ class FACT(N_ENTITE.ENTITE):
    label = 'FACT'
 
    def __init__(self,fr="",ang="",docu="",regles=(),statut='f',defaut=None,
-                     min=0,max=1,**args):
+                     min=0,max=1,validators=None,**args):
      
       """
           Un mot-clé facteur est caractérisé par les attributs suivants :
@@ -70,6 +70,7 @@ class FACT(N_ENTITE.ENTITE):
 
           - docu
       """
+      N_ENTITE.ENTITE.__init__(self,validators)
       # Initialisation des attributs
       self.fr=fr
       self.ang=ang
@@ -147,5 +148,7 @@ class FACT(N_ENTITE.ENTITE):
          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 etre une chaine de caractères : %s" %`self.docu`)
+      if self.validators and not self.validators.verif_cata():
+         self.cr.fatal("Un des validateurs est incorrect. Raison : "+self.validators.cata_info)
       self.verif_cata_regles()
 
index abcccfd614906308a721829ff162fd6962be78bd..0158a203e89f342a3e789a53977115c0e00b7b4b 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF N_SIMP Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_SIMP Noyau  DATE 09/09/2003   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -45,7 +45,7 @@ class SIMP(N_ENTITE.ENTITE):
 
    def __init__(self,typ,fr="",ang="",statut='f',into=None,defaut=None,
                      min=1,max=1,homo=1,position ='local',
-                     val_min = '**',val_max='**',docu=""):
+                     val_min = '**',val_max='**',docu="",validators=None):
      
       """
           Un mot-clé simple est caractérisé par les attributs suivants :
@@ -76,7 +76,7 @@ class SIMP(N_ENTITE.ENTITE):
 
           - docu
       """
-      N_ENTITE.ENTITE.__init__(self)
+      N_ENTITE.ENTITE.__init__(self,validators)
       # Initialisation des attributs
       if type(typ) == types.TupleType :
           self.type=typ
@@ -119,7 +119,8 @@ class SIMP(N_ENTITE.ENTITE):
             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`)
-
+      if self.validators and not self.validators.verif_cata():
+         self.cr.fatal("Un des validateurs est incorrect. Raison : "+self.validators.cata_info)
 
    def __call__(self,val,nom,parent=None):
       """
index 38d8056f2fd0a2b09d644db6dcb8c82556397a3e..f288eaae8c2c47fabea278fc056524f3beb14b1a 100644 (file)
@@ -72,6 +72,7 @@ class JDC(V_MCCOMPO.MCCOMPO):
             if not e.isvalid():
               valid = 0
               break
+        self.state="unchanged"
         self.valid = valid
         return self.valid
 
index 16b695207249719e3031c48f20e7990b8e00fbd0..ea4a28b79417b19d5caacccdda8686a8541863d5 100644 (file)
@@ -70,7 +70,7 @@ class MCBLOC(V_MCCOMPO.MCCOMPO):
           valid = 0
         self.valid = valid
         self.state = 'unchanged'
-        if old_valid:
-          if old_valid != self.valid : self.init_modif_up()
+        if not old_valid or old_valid != self.valid : 
+           self.init_modif_up()
         return self.valid
 
index 6d15b036706a98c3b83ed865a02442e4f02c2cf8..a8e24c59fc8fcb41879c3ed0900551d13dd17a7e 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF V_MCFACT Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_MCFACT Validation  DATE 09/09/2003   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -68,13 +68,22 @@ class MCFACT(V_MCCOMPO.MCCOMPO):
         if not test_regles :
           if cr == 'oui' : self.cr.fatal(string.join(("Règle(s) non respectée(s) :", text_erreurs)))
           valid = 0
+        #
+        # On verifie les validateurs s'il y en a
+        #
+        if self.definition.validators and not self.definition.validators.verif(self.valeur):
+           if cr == 'oui' :
+              self.cr.fatal(string.join(("Mot-clé : ",self.nom,"devrait avoir ",self.definition.validators.info())))
+           valid=0
+        # fin des validateurs
+        #
         if self.reste_val != {}:
           if cr == 'oui' :
             self.cr.fatal("Mots cles inconnus :" + string.join(self.reste_val.keys(),','))
           valid=0
         self.valid = valid
         self.state = 'unchanged'
-        if old_valid:
-          if old_valid != self.valid : self.init_modif_up()
+        if not old_valid or old_valid != self.valid : 
+           self.init_modif_up()
         return self.valid
 
index 7b6b798a73ac15bd4a6831bb666e46c823ffe909..53f31b4703d3b00c42778cc09d4978367d3aef39 100644 (file)
@@ -61,29 +61,17 @@ class PROC_ETAPE(V_ETAPE.ETAPE):
       if self.state == 'unchanged' :
         return self.valid
       else:
-        valid = 1
-        if hasattr(self,'valid'):
-          old_valid = self.valid
-        else:
-          old_valid = None
-        # on teste les enfants
-        for child in self.mc_liste :
-          if not child.isvalid():
-            valid = 0
-            break
-        # on teste les règles de self
-        text_erreurs,test_regles = self.verif_regles()
-        if not test_regles :
-          if cr == 'oui' : self.cr.fatal(string.join(("Règle(s) non respectée(s) :", text_erreurs)))
-          valid = 0
+        valid=self.valid_child()
+
+        valid=valid * self.valid_regles(cr)
+
         if self.reste_val != {}:
           if cr == 'oui' :
             self.cr.fatal("Mots cles inconnus :" + string.join(self.reste_val.keys(),','))
           valid=0
-        self.valid = valid
-        self.state = 'unchanged'
-        if old_valid:
-          if old_valid != self.valid : self.init_modif_up()
+
+        self.set_valid(valid)
+
         return self.valid