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 (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)
#if self.objPyxb !=None : self.objPyxb.objAccas=self
+ if isinstance(self.valeur,A_ASSD.ASSD) :
+ setattr(self.valeur,'typeUtilisateur','toto')
+ print (dir(self.definition))
+ print (dir(self.valeur))
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=False):
+ def setValeurObjPyxb(self,newVal, debug=True):
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 inspect.isclass(newVal) and issubclass(newVal,A_ASSD) : newVal = newVal.nom
+ isUserASSD = False
+ if inspect.isclass(newVal) and issubclass(newVal,A_ASSD) :
+ isUserASSD = True
+ newVal = newVal.nom
if debug : print (self.nom , ' a pour pere', self.perePyxb, self.perePyxb.nom, self.perePyxb.objPyxb)
if debug : print ('debut du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent())
self.val=newVal
if debug : print ('fin du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent())
+ if inspect.isclass(newVal) and issubclass(newVal,A_ASSD) :
+ newVal = newVal.nom
setattr(self.perePyxb.objPyxb,self.nom,nvlObj)
trouve=False
indice=0
indice+=1
if not trouve : print ('Attention souci au changement de valeur de ', self.nom)
self.objPyxb=nvlObj
+ if isUserASSD : setattr(self.objPyxb,name,newVal)
+ if isUserASSD : print(self.objPyxb.typeUtilisateur)
#self.objPyxb.objAccas=self
if debug : print ('fin du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent())
return (self.objPyxb.toDOM().toprettyxml())
- def analyseFromXML(self,debug=False):
+ def analyseFromXML(self,debug=True):
print ("je suis ds analyseFromXML -- > appel ds analyseXML de I_JDC.py")
print (self.procedure)
if self.procedure == "" : return
for contentObjEtape in self.objPyxb.orderedContent():
objEtape=contentObjEtape.value
objEtape.dictArgs=(self.pyxbToDict(objEtape))
+ # attention au call d Oper qui renomme l objet pyxb
+ if hasattr(objEtape,'name') : sdName = objEtape.name
objEtape.monNomClasseAccas=objEtape._ExpandedName.localName()
objEtape.monNomClasseAccas=objEtape.monNomClasseAccas[2:]
# doute sur les 2 lignes suivantes : objEtape peut etre contentObjEtape 2juin20
if debug : print ('dictArgs',objEtape.dictArgs)
if debug : print ('dictPyxb',objEtape.dictPyxb)
objAccasEtape=maClasseAccas(**(objEtape.dictArgs))
+ if hasattr(objEtape,'name') : objAccasEtape.setName(sdName)
if debug : print (objAccasEtape)
if debug : print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
# traitement SIMP
# ---------------
if isinstance(objAAnalyser, pyxb.binding.basis.simpleTypeDefinition):
- #print ('je suis un MCSimple')
+ print ('je suis un MCSimple')
# il faut traiter les UserASSD
# traitement scalaire
objAAnalyser.dictPyxb=objAAnalyser