Salome HOME
fin portage python 3
[tools/eficas.git] / Extensions / mcnuplet.py
index 6db18fda9599d80ba475e8fbd8ea1e1ef6d9f2b9..d7eb0e12257c06bdb8ec82b87ffc0388c6329d42 100644 (file)
@@ -1,30 +1,35 @@
-#            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.
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013   EDF R&D
 #
-# 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.
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
 #
-# 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.
+# This library 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
+# Lesser General Public License for more details.
 #
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-# ======================================================================
 """
 """
 # Modules Python
-import string
+from __future__ import absolute_import
+try : 
+   from builtins import str
+except : pass
+
 
 # Modules Eficas
 from Noyau import N_MCCOMPO
 from Validation import V_MCCOMPO
+from Extensions.i18n import tr
 
 class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
    """
@@ -46,7 +51,7 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
          self.niveau = self.parent.niveau
          self.etape = self.parent.etape
       else:
-         # Le mot cle a été créé sans parent
+         # Le mot cle a ete cree sans parent
          self.jdc = None
          self.niveau = None
          self.etape = None
@@ -57,26 +62,28 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
    def build_mc(self):
       """ 
           Construit la liste des sous-entites de MCNUPLET
-          à partir de la liste des arguments (valeur)
+          a partir de la liste des arguments (valeur)
       """
       args = self.valeur
       if args ==None : args =()
       mc_liste=[]
 
-      # on crée les sous entites du NUPLET a partir des valeurs initiales
+      # on cree les sous entites du NUPLET a partir des valeurs initiales
       k=0
       for v in self.definition.entites:
         if k < len(args):
           val=args[k]
         else:
           val=None
-        objet=v(val=val,nom=`k`,parent=self)
+        objet=v(val=val,nom=repr(k),parent=self)
         if hasattr(objet.definition,'position'):
           if objet.definition.position == 'global' :
             self.append_mc_global(objet)
           #XXX et global_jdc ??
         mc_liste.append(objet)
         k=k+1
+      # Un nuplet n'a pas de mots inconnus
+      self.reste_val={}
       return mc_liste
 
    def isvalid(self,cr='non'):
@@ -98,7 +105,7 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
         if len(self.mc_liste) != len(self.definition.entites):
           valid=0
           if cr == 'oui' :
-            self.cr.fatal(string.join(("Nuplet : ",self.nom," Longueur incorrecte")))
+            self.cr.fatal(''.join(("Nuplet : ",self.nom,tr("Longueur incorrecte"))))
         self.valid = valid
         self.state = 'unchanged'
         if old_valid:
@@ -107,7 +114,7 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
 
    def __getitem__(self,key):
       """
-          Retourne le key ème élément du nuplet
+          Retourne le key eme element du nuplet
       """
       # Un nuplet est toujours une liste de mots cles simples
       # On retourne donc la valeur
@@ -115,8 +122,8 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
 
    def __str__(self):
       """
-           Retourne une représentation du nuplet sous forme de chaine
-           de caractères
+           Retourne une representation du nuplet sous forme de chaine
+           de caracteres
       """
       s='('
       for e in self.mc_liste:
@@ -125,8 +132,8 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
 
    def __repr__(self):
       """
-           Retourne une représentation du nuplet sous forme de chaine
-           de caractères
+           Retourne une representation du nuplet sous forme de chaine
+           de caracteres
       """
       s='('
       for e in self.mc_liste:
@@ -135,13 +142,13 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
 
    def get_regles(self):
       """
-         Retourne la liste des règles attachées au nuplet
+         Retourne la liste des regles attachees au nuplet
       """
       return []
 
    def verif_condition_bloc(self):
       """
-          Vérifie s'il y a des blocs sous le nuplet et retourne 
+          Verifie s'il y a des blocs sous le nuplet et retourne 
           les blocs en question
       """
       # Il n y a pas de BLOCs sous un NUPLET
@@ -149,10 +156,10 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
 
    def isrepetable(self):
       """ 
-          Indique si le NUPLET peut etre répété.
+          Indique si le NUPLET peut etre repete.
           Retourne 1 si c'est le cas.
           Retourne 0 dans le cas contraire.
-          L'information est donnée par le catalogue, cad la définition de self
+          L'information est donnee par le catalogue, cad la definition de self
       """
       if self.definition.min != self.definition.max :
         return 1
@@ -164,11 +171,11 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
 
    def get_valeur(self):
       """
-          Cette méthode doit retourner la valeur de l'objet. Elle est utilisée par 
-          cree_dict_valeurs pour construire un dictionnaire contenant les mots clé
-          d'une étape.
+          Cette methode doit retourner la valeur de l'objet. Elle est utilisee par 
+          cree_dict_valeurs pour construire un dictionnaire contenant les mots cle
+          d'une etape.
           Dans le cas d'un nuplet, on retournera comme valeur une liste des valeurs
-          des mots clé simples contenus.
+          des mots cle simples contenus.
       """
       l=[]
       for v in self.mc_liste:
@@ -177,8 +184,8 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
 
    def get_val(self):
       """
-          Une autre méthode qui retourne une "autre" valeur du mot clé facteur.
-          Elle est utilisée par la méthode get_mocle
+          Une autre methode qui retourne une "autre" valeur du mot cle facteur.
+          Elle est utilisee par la methode get_mocle
       """
       l=[]
       for v in self.mc_liste:
@@ -188,5 +195,26 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO):
    def isoblig(self):
       return self.definition.statut=='o'
 
+   def get_fr(self):
+     """
+        Retourne le texte d'aide dans la langue choisie
+     """
+     try :
+        return getattr(self.definition,self.jdc.lang)
+     except:
+        return ''
+
+   def cree_dict_valeurs(self,liste=[],condition=0):
+     dico={}
+     return dico
+
+   def update_condition_bloc(self):
+     """
+       Realise l'update des blocs conditionnels fils de self
+       et propage au parent (rien a faire pour nuplet)
+     """
+
+
+