Salome HOME
TypeInstance and basestring
[tools/eficas.git] / Validation / V_JDC.py
index db34d99b4e347e96bbdccb859c698edc2da39d1f..8cc88484d57ec6c082e41bd94a19032c6097c1f2 100644 (file)
@@ -1,7 +1,7 @@
 # coding=utf-8
 # person_in_charge: mathieu.courtois at edf.fr
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2015  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2017  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
 
 
 """
-   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
-   dérivé de OBJECT.
+   Ce module contient la classe mixin JDC qui porte les methodes
+   necessaires pour realiser la validation d'un objet de type JDC
+   derive de OBJECT.
 
    Une classe mixin porte principalement des traitements et est
-   utilisée par héritage multiple pour composer les traitements.
+   utilisee par heritage multiple pour composer les traitements.
 """
+from __future__ import absolute_import
 # Modules EFICAS
-import V_MCCOMPO
+from . import V_MCCOMPO
 from Noyau.N_Exception import AsException
 from Noyau.N_utils import AsType
-from Noyau.strfunc import ufmt
 
 
 class JDC(V_MCCOMPO.MCCOMPO):
@@ -45,44 +45,47 @@ class JDC(V_MCCOMPO.MCCOMPO):
             Methode pour generation d un rapport de validite
         """
         self.cr.purge()
-        self.cr.debut = "DEBUT CR validation : " + self.nom
-        self.cr.fin = "FIN CR validation :" + self.nom
+        #self.cr.debut = "DEBUT CR validation : " + self.nom
+        #self.cr.fin = "FIN CR validation :" + self.nom
+        self.cr.debut = "BEGIN validation report : " + self.nom
+        self.cr.fin = "END validation report :" + self.nom
         for e in self.etapes:
-            if e.isactif():
+            if e.isActif():
                 self.cr.add(e.report())
         self.state = 'modified'
-        self.isvalid(cr='oui')
+        self.isValid(cr='oui')
         return self.cr
 
-    def isvalid(self, cr='non'):
+    def isValid(self, cr='non'):
         """
-          Méthode booléenne qui retourne 0 si le JDC est invalide, 1 sinon
+          Methode booleenne qui retourne 0 si le JDC est invalide, 1 sinon
         """
-        # FR : on prend en compte l'état du JDC ('unchanged','modified','undetermined')
-        # afin d'accélérer le test de validité du JDC
+        # FR : on prend en compte l'etat du JDC ('unchanged','modified','undetermined')
+        # afin d'accelerer le test de validite du JDC
         if self.state == 'unchanged':
             return self.valid
         else:
             valid = 1
-            texte, test = self.verif_regles()
+            texte, test = self.verifRegles()
             if test == 0:
                 if cr == 'oui':
-                    self.cr.fatal(' '.strip(texte))
+                    if texte != "" and (' '.strip(texte) == "") : self.cr.fatal(texte)
+                    else : self.cr.fatal(' '.strip(texte))
                 valid = 0
             if valid:
                 for e in self.etapes:
-                    if not e.isactif():
+                    if not e.isActif():
                         continue
-                    if not e.isvalid():
+                    if not e.isValid():
                         valid = 0
                         break
             self.state = "unchanged"
             self.valid = valid
             return self.valid
 
-    def verif_regles(self):
+    def verifRegles(self):
         """
-        Effectue la vérification de validité des règles du jeu de commandes
+        Effectue la verification de validite des regles du jeu de commandes
         """
         noms_etapes = [etape.nom for etape in self.etapes]
         texte_global = ''