-#@ MODIF N_FACT Noyau DATE 09/09/2003 AUTEUR DURAND C.DURAND
+#@ MODIF N_FACT Noyau DATE 16/05/2007 AUTEUR COURTOIS M.COURTOIS
+# -*- coding: iso-8859-1 -*-
# CONFIGURATION MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
#
#
# ======================================================================
+
+
""" Ce module contient la classe de definition FACT
qui permet de spécifier les caractéristiques des mots clés facteurs
"""
import N_ENTITE
import N_MCFACT
import N_MCLIST
+from N__F import _F
+
+import N_OBJECT
class FACT(N_ENTITE.ENTITE):
"""
Cette classe a trois attributs de classe
- - class_instance qui indique la classe qui devra etre utilisée
- pour créer l'objet qui servira à controler la conformité d'un
- mot-clé facteur avec sa définition
+ - class_instance qui indique la classe qui devra etre utilisée
+ pour créer l'objet qui servira à controler la conformité d'un
+ mot-clé facteur avec sa définition
- - list_instance
+ - list_instance
- - label qui indique la nature de l'objet de définition (ici, FACT)
+ - label qui indique la nature de l'objet de définition (ici, FACT)
"""
class_instance = N_MCFACT.MCFACT
list_instance = N_MCLIST.MCList
"""
Un mot-clé facteur est caractérisé par les attributs suivants :
- - fr :
-
- - ang :
-
- - statut :
-
- - defaut :
-
- - regles
-
- - min
-
- - max
-
- - position
-
- - docu
+ - fr :
+ - ang :
+ - statut :
+ - defaut :
+ - regles
+ - min
+ - max
+ - position
+ - docu
"""
N_ENTITE.ENTITE.__init__(self,validators)
# Initialisation des attributs
MCFACT soit une liste de type MCLIST.
La creation d un mot cle facteur depend de son statut
- Si statut ='o' il est obligatoire
- Si statut == 'd' il est facultatif mais ses sous mots cles avec
- defaut sont visibles
- Si statut == 'f' il est facultatif et ses sous mots avec defaut ne
- sont pas visibles
- Si statut == 'c' il est cache ???
- Si defaut != None, on utilise cette valeur pour calculer la valeur
- par defaut du mot cle facteur
+ - Si statut ='o' il est obligatoire
+ - Si statut == 'd' il est facultatif mais ses sous mots cles avec
+ defaut sont visibles
+ - Si statut == 'f' il est facultatif et ses sous mots avec defaut ne
+ sont pas visibles
+ - Si statut == 'c' il est cache ???
+ - Si defaut != None, on utilise cette valeur pour calculer la valeur
+ par defaut du mot cle facteur
"""
if val == None:
if self.defaut == None:
elif type(self.defaut) == types.TupleType:
val=self.defaut
# Est ce utile ? Le défaut pourrait etre uniquement un dict
- elif type(self.defaut) == types.DictType or isinstance(self.defaut,N_MCFACT._F):
+ elif type(self.defaut) == types.DictType or isinstance(self.defaut,_F):
val=self.defaut
else:
# On ne devrait jamais passer par la
print "On ne devrait jamais passer par la"
return None
- if type(val) == types.TupleType or type(val) == types.ListType :
- # on est en présence d'un MCFACT multiple !
- l=self.list_instance()
- l.init(nom = nom,parent=parent)
- for v in val:
- objet=self.class_instance(nom=nom,definition=self,val=v,parent=parent)
- l.append(objet)
- return l
+ # On cree toujours une liste de mcfact
+ l=self.list_instance()
+ l.init(nom = nom,parent=parent)
+ if type(val) in (types.TupleType,types.ListType) :
+ for v in val:
+ if type(v) == types.DictType or isinstance(v, _F):
+ objet=self.class_instance(nom=nom,definition=self,val=v,parent=parent)
+ l.append(objet)
+ else:
+ l.append(N_OBJECT.ErrorObj(self,v,parent,nom))
+ elif type(val) == types.DictType or isinstance(val, _F):
+ objet=self.class_instance(nom=nom,definition=self,val=val,parent=parent)
+ l.append(objet)
else:
- return self.class_instance(nom=nom,definition=self,val=val,parent=parent)
+ l.append(N_OBJECT.ErrorObj(self,val,parent,nom))
+ return l
def verif_cata(self):
if type(self.min) != types.IntType :