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,
27 self.methodeCalculTaille = methodeCalculTaille
28 self.formatSortie = formatSortie
31 self.structure = structure
33 self.listeHeaders = listeHeaders
34 self.typEltInto = typEltInto
38 if self.coloree : self.activeCouleur()
40 def __convert__(self, valeur):
41 # Attention ne verifie pas grand chose
42 if not isinstance(valeur, types.ListType):
46 def verifItem(self,texte,mc):
48 if self.typElt == 'R' :
49 try : val=float(str(texte)); ok=True
50 except : return (False,"Entrer un float SVP")
51 if self.typElt == 'I' :
52 try : val=int(str(texte)); ok=True
53 except : return (False,"Entrer un float SVP")
54 if self.typElt in ('R', 'I') and self.valSup != None :
55 if val > self.valSup :
56 return (False, "Entrer un nombre inferieur a " + repr(self.valSup))
57 if self.typElt in ('R', 'I') and self.valMin != None :
58 if val < self.valMin :
59 return (False, "Entrer un nombre superieur a " + repr(self.valMin))
60 if val=='' : val = texte
61 if self.typEltInto != None and val not in self.typEltInto :
62 return ( "Entrer une valeur contenue dans " + str(self.typEltInto))
64 if issubclass (self.typElt, Accas.ASSD):
65 if not self.jdc : self.jdc = CONTEXT.getCurrentJdC()
66 if not(val in self.jdc.sdsDict.keys()) : return (False, 'Concept inexistant')
67 if not (isinstance(self.jdc.sdsDict[val],self.typElt)) : return (False, 'Concept d un autre type')
68 a=self.jdc.getSdAvantDuBonType(mc.etape,(self.typElt,))
69 if texte not in self.jdc.getSdAvantDuBonType(mc.etape,(self.typElt,)) :
70 return (False, 'Le concept doit etre defini avant')
75 def convertItem(self,texte):
76 if self.typElt == 'R' : val=float(str(texte))
77 if self.typElt == 'I' : val=int(str(texte))
79 if issubclass (self.typElt, Accas.ASSD): return self.jdc.sdsDict[texte]
85 return "Matrice %s x %s" % (self.nbLigs, self.nbCols)
90 class N_Matrice_Correlation(N_Matrice):