def buildObjPyxb(self, debug=True) :
if not self.cata or not self.cata.modeleMetier : return
if self.nom == 'Consigne' : return None
+ #print (self.definition.nomComplet())
if debug : print ('_______________ X_MCSIMP buildObjPyxb', self.nom, self,self.valeur)
if debug and self.objPyxbDeConstruction == None : print (self.nom, ' pas de pyxb')
elif debug : print ('objPyxbDeConstruction', self.objPyxbDeConstruction)
print ('self.maClasseModeleMetierFactory', self.maClasseModeleMetierFactory)
else : self.needFactory=False
else :
- print ('_____________________uuuuuuuuuuuuuuuuuuuu')
- print (self.cata.DicoNomTypeDifferentNomElt)
- print ('_____________________uuuuuuuuuuuuuuuuuuuu')
- self.monNomClasseModeleMetier='T_'+self.nom
- if self.monNomClasseModeleMetier=='T_termeLE' : monNomClasseModeleMetier= 'T_termeLE_1'
- if self.nom in list(self.cata.DicoNomTypeDifferentNomElt.keys()) :
- self.monNomClasseModeleMetier=self.cata.DicoNomTypeDifferentNomElt[self.nom][self.nomComplet()]
+ self.monNomClasseModeleMetier ='T_'+self.nom
+ if self.monNomClasseModeleMetier in list(self.cata.DicoNomTypeDifferentNomElt.keys()) :
+ self.monNomClasseModeleMetier=self.cata.DicoNomTypeDifferentNomElt[self.monNomClasseModeleMetier][self.definition.nomComplet()]
+ if debug : print ('Pour', self.nom, ' le type est ', self.monNomClasseModeleMetier)
self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
if issubclass(self.maClasseModeleMetier, self.cata.modeleMetier.pyxb.binding.basis.STD_union):
if debug : print ('needFactory')
if self.valeur != None :
if self.needFactory :
if self.definition.max > 1 :
- print (self.monNomClasseModeleMetier)
- exit()
self.objPyxb=self.maClasseModeleMetier(self.valeur)
else : self.objPyxb=self.maClasseModeleMetierFactory(self.valeur)
else : self.objPyxb=self.maClasseModeleMetier(self.valeur)
#if self.objPyxb !=None : self.objPyxb.objAccas=self
- #if debug : print ('X_MCSIMP', self.nom, self.objPyxb, )
+ if debug : print ('X_MCSIMP', self.nom, self.objPyxb, )
if debug : print ('__________ fin X_MCSIMP', self.objPyxb, self.nom, self, self.maClasseModeleMetier,self.valeur)
- def setValeurObjPyxb(self,newVal, debug=True):
+ def setValeurObjPyxb(self,newVal, debug=False):
if not self.cata or not self.cata.modeleMetier : return
if debug : print (' ___________________________ dans setValeurObjPyxb MCSIMP ', self.nom, newVal)
if debug : print (' self.perePyxb = ', self.perePyxb.nom)
if debug : print ('je passe dans le if pour ', self.nom, self.objPyxb, self)
if debug : print ('X_MCCOMPO', self, self.nom, self.objPyxb,self.listArg,self.objPyxb.orderedContent())
else :
- if debug : print (self.nom)
if debug : print (self.listArg)
# self.objPyxb=self.maClasseModeleMetier(*self.listArg)
self.objPyxb=self.maClasseModeleMetier(**self.dicoArg)
+ if debug :
+ for o in self.objPyxb.orderedContent():
+ print (o)
+ print (o.value)
+ print (type(o.value))
+ print (id(o.value))
+ print (id(o.value))
+ print ('______________________')
newOrderedContent=[]
for obj in self.listArg:
+ if debug :
+ print (obj)
+ print (type(obj))
+ print (id(obj))
+
# on teste le caractere pluriel
if (hasattr(obj, 'nature')) : # attention on a un object Accas et non un pyxb car les MCList n ont pas de objPyxb
max=obj[0].definition.max
def exploreBLOC(self,objAccas):
- print (' ds exploreBLOC', objAccas .nom)
+ #print (' ds exploreBLOC', objAccas .nom)
laListeSsLesBlocs=[]
for fils in objAccas.mcListe:
if fils.nature == 'MCBLOC' :
self.dicoArg[fils.nom]=fils.objPyxb
fils.perePyxb=self
print (fils.nom ,' est un SIMP a pour pere Pyxb', self, self.nom)
+ #print ('fin ds exploreBLOC', objAccas .nom)
self.choisitCata()
modeleMetier = None
+ dicoEltDif = {}
if not (self.appliEficas.genereXSD) :
if (self.appliEficas.maConfiguration.withXSD or self.appliEficas.withXSD) :
try :
pathCata = os.path.dirname(self.fichierCata)+'/raw/'+nomCataXsd+'.py'
import imp
modeleMetier= imp.load_source(nomCataXsd,pathCata)
+ #print ('nomCataXsd , pathCata ',nomCataXsd,pathCata)
+ texte=modeleMetier.PNEFdico.__doc__
+ if texte != None and texte != "":
+ l={}
+ texte='dicoEltDif = '+ texte
+ exec (texte, globals(),l)
+ dicoEltDif=l['dicoEltDif']
+
except :
if self.appliEficas.ssIhm == False :print ('______________ poum import cata_genere ')
self.QWParent.informe('XSD driver', 'unable to load xsd driver',critique=False)
modeleMetier = None
self.cata = self.importCata(self.fichierCata)
+ #self.cata.DicoNomTypeDifferentNomElt={'T_monObjet': {'_monObjet_FInt_MonProc': 'T_monObjet', '_monObjet_FText_MonProc': 'T_monObjet_2', '_monObjet_FFloat_MonProc': 'T_monObjet_1'}}
+ self.cata.DicoNomTypeDifferentNomElt=dicoEltDif
if hasattr(self.cata, 'implement'): self.cata.JdC.implement = self.cata.implement
else : self.cata.JdC.implement = ""
if hasattr(self.cata, 'importedBy'): self.cata.JdC.importedBy = self.cata.importedBy