]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Ajout d'une nouvelle regle MEME_NOMBRE
authorAndré Ribes <>
Wed, 23 Mar 2011 17:54:00 +0000 (17:54 +0000)
committerAndré Ribes <>
Wed, 23 Mar 2011 17:54:00 +0000 (17:54 +0000)
Accas/A_MEME_NOMBRE.py [new file with mode: 0644]
Accas/__init__.py
Accas/__init__NonAster.py
Validation/V_MEME_NOMBRE.py [new file with mode: 0644]

diff --git a/Accas/A_MEME_NOMBRE.py b/Accas/A_MEME_NOMBRE.py
new file mode 100644 (file)
index 0000000..9574f3a
--- /dev/null
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+#            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 Noyau import N_REGLE
+from Validation import V_MEME_NOMBRE
+from Ihm import I_REGLE
+
+class MEME_NOMBRE(V_MEME_NOMBRE.MEME_NOMBRE,I_REGLE.REGLE,N_REGLE.REGLE):
+   """
+       La classe utilise l'initialiseur de REGLE. Il n'est pas 
+       nécessaire d'expliciter son initialiseur car 
+       V_MEME_NOMBRE.MEME_NOMBRE n'en a pas 
+   """
index 4897f586af8699d54ff0a954659538fb65130983..0961bbfa041481b8bbcbfb96da8b63c2c83414b5 100644 (file)
@@ -58,6 +58,7 @@ from A_MCSIMP import MCSIMP
 
 # Les règles
 from A_AU_MOINS_UN import AU_MOINS_UN
+from A_MEME_NOMBRE import MEME_NOMBRE
 from A_AU_PLUS_UN import AU_PLUS_UN
 from A_UN_PARMI import UN_PARMI
 from A_PRESENT_PRESENT import PRESENT_PRESENT
index 324ed712c8d13c996c46e347ebae449a738441da..554b454f84f232ebd011cada3e46b9ab8eb4f00d 100644 (file)
@@ -58,6 +58,7 @@ from A_MCSIMP import MCSIMP
 
 # Les règles
 from A_AU_MOINS_UN import AU_MOINS_UN
+from A_MEME_NOMBRE import MEME_NOMBRE
 from A_AU_PLUS_UN import AU_PLUS_UN
 from A_UN_PARMI import UN_PARMI
 from A_PRESENT_PRESENT import PRESENT_PRESENT
diff --git a/Validation/V_MEME_NOMBRE.py b/Validation/V_MEME_NOMBRE.py
new file mode 100644 (file)
index 0000000..e07bb30
--- /dev/null
@@ -0,0 +1,66 @@
+#@ MODIF V_MEME_NOMBRE Validation  DATE 07/09/2009   AUTEUR COURTOIS M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
+# RESPONSABLE COURTOIS M.COURTOIS
+#            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 MEME_NOMBRE:
+   """
+      La règle MEME_NOMBRE vérifie que l'on trouve au moins un des mots-clés
+      de la règle parmi les arguments d'un OBJECT.
+
+      Ces arguments sont transmis à la règle pour validation sous la forme 
+      d'une liste de noms de mots-clés ou d'un dictionnaire dont 
+      les clés sont des noms de mots-clés.
+   """
+   def verif(self,args):
+      """
+          La méthode verif vérifie que l'on trouve au moins un des mos-clés
+          de la liste self.mcs parmi les éléments de args
+
+          args peut etre un dictionnaire ou une liste. Les éléments de args
+          sont soit les éléments de la liste soit les clés du dictionnaire.
+      """
+      #  on compte le nombre de mots cles presents
+      text =''
+      args = self.liste_to_dico(args)
+      size = -1
+
+      for mc in self.mcs:
+        if mc not in args.keys():
+          text = "Une clé dans la régle n'existe pas %s" % mc
+          return text,0
+
+        val = args[mc].valeur
+        len_val = 0
+        if not isinstance(val,type([])):
+          len_val = 1
+        else:
+          len_val = len(val)
+
+        if size == -1:
+          size = len_val
+        elif size != len_val:
+          text = "Pas la même longeur"
+          return text,0
+      return text,1
+