5 def __init__(self,ntuple):
8 def __convert__(self,valeur):
10 if isinstance(valeur, basestring) : return None
12 if isinstance(valeur, str): return None
13 if len(valeur) != self.ntuple: return None
17 return "Tuple de %s elements" % self.ntuple
20 def __init__(self, nbLigs=None, nbCols=None,
21 methodeCalculTaille=None, formatSortie="ligne",
22 valSup=None, valMin=None, structure=None, typElt='R',
23 typEltInto=None, listeHeaders=None, coloree=False):
26 self.methodeCalculTaille = methodeCalculTaille
27 self.formatSortie = formatSortie
30 self.structure = structure
32 self.listeHeaders = listeHeaders
33 self.typEltInto = typEltInto
36 if self.coloree : self.activeCouleur()
38 def __convert__(self, valeur):
39 # Attention ne verifie pas grand chose
40 if not isinstance(valeur, types.ListType):
44 def verifItem(self,texte,mc):
46 if self.typElt == 'R' :
47 try : val=float(str(texte)); ok=True
48 except : return (False,"Entrer un float SVP")
49 if self.typElt == 'I' :
50 try : val=int(str(texte)); ok=True
51 except : return (False,"Entrer un float SVP")
52 if self.typElt in ('R', 'I') and self.valSup != None :
53 if val > self.valSup :
54 return (False, "Entrer un nombre inferieur a " + repr(self.valSup))
55 if self.typElt in ('R', 'I') and self.valMin != None :
56 if val < self.valMin :
57 return (False, "Entrer un nombre superieur a " + repr(self.valMin))
58 if val=='' : val = texte
59 if self.typEltInto != None and val not in self.typEltInto :
60 return ( "Entrer une valeur contenue dans " + str(self.typEltInto))
62 if issubclass (self.typElt, Accas.ASSD):
63 if not self.jdc : self.jdc = CONTEXT.getCurrentJdC()
64 if not(val in self.jdc.sdsDict.keys()) : return (False, 'Concept inexistant')
65 if not (isinstance(self.jdc.sdsDict[val],self.typElt)) : return (False, 'Concept d un autre type')
66 a=self.jdc.getSdAvantDuBonType(mc.etape,(self.typElt,))
67 if texte not in self.jdc.getSdAvantDuBonType(mc.etape,(self.typElt,)) :
68 return (False, 'Le concept doit etre defini avant')
73 def convertItem(self,texte):
74 if self.typElt == 'R' : val=float(str(texte))
75 if self.typElt == 'I' : val=int(str(texte))
77 if issubclass (self.typElt, Accas.ASSD): return self.jdc.sdsDict[texte]
83 return "Matrice %s x %s" % (self.nbLigs, self.nbCols)