2 # -*- coding: utf-8 -*-
7 traceback.print_stack()
8 #import raw.efficas as efficas
11 sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..')))
16 import pyxb.binding.basis
17 #import pyxb.utils.utility
18 #import pyxb.utils.domutils
21 from Accas import A_ASSD
26 def delObjPyxb(self, debug=False):
27 if not self.cata or not self.cata.modeleMetier : return
28 if self.nom == 'Consigne' : return None
31 if debug : print ('in delObjPyxb')
32 if debug : print (self.perePyxb.objPyxb.orderedContent())
33 if debug : print (list(map(lambda o:o.value, self.perePyxb.objPyxb.orderedContent())))
35 elt=pyxb.binding.basis.ElementContent(self.objPyxb, instance=self.perePyxb.objPyxb, tag=pyxb.namespace.ExpandedName(self.cata.modeleMetier.Namespace, self.nom))
36 if debug : print ('element moi = ', elt, 'id de moi = ', id(self.objPyxb), self.objPyxb)
37 if (elt.elementDeclaration.isPlural()):
38 if debug : print ('je suis Plural')
39 # monIndexInOrderedContent=0
40 # for c in self.perePyxb.objPyxb.orderedContent():
41 # if isinstance(c._Content__value,list) and isinstance(c._Content__value[0], type(self.objPyxb)): monIndexInOrderedContent += 1
42 # listeObjetsAccas=self.parent.getChild(self.nom,restreint='oui')
43 # if len(listeObjetsAccas) == 1 : monIndex=0
44 # else : monIndex=listeObjetsAccas.index(self)
45 # listeObjetsPyxb=getattr(self.perePyxb.objPyxb,elt.elementDeclaration._ElementDeclaration__key)
46 # listeObjetsPyxb.pop(monIndex)
47 # self.perePyxb.objPyxb.orderedContent().pop(monIndexInOrderedContent)
48 for c in self.perePyxb.objPyxb.orderedContent():
50 if isinstance(c._Content__value,list) and isinstance(c._Content__value[0],type(self.objPyxb)):
51 monIndex=c.value.index(self.objPyxb)
54 if not trouve : print ("************ pas trouve au delete"); return
55 listeObjetsPyxb=getattr(self.perePyxb.objPyxb,elt.elementDeclaration._ElementDeclaration__key)
56 listeObjetsPyxb.pop(monIndex)
59 newOrderedContent = []
60 for i in self.perePyxb.objPyxb.orderedContent():
61 if id(self.objPyxb) == id(i._Content__value) : trouve = True ;continue
62 newOrderedContent.append(i)
63 if not trouve : print ('elt a supprimer ', self.nom, 'non trouve')
64 for i in range(len(newOrderedContent)):
65 self.perePyxb.objPyxb.orderedContent()[i]=newOrderedContent[i]
66 self.perePyxb.objPyxb.orderedContent().pop(len(newOrderedContent))
68 setattr(self.perePyxb.objPyxb,elt.elementDeclaration._ElementDeclaration__key,None)
69 if debug : print (list(map(lambda o:o.value, self.perePyxb.objPyxb.orderedContent())))
73 def addObjPyxb(self,indiceDsLeContenu,debug=False):
74 if not self.cata or not self.cata.modeleMetier : return
75 if debug :print ('_____________ addObjPyxb ds X_OBJECT', self.nom, indiceDsLeContenu)
76 # adherence Accas sur le parent
78 while (parent.isBLOC()):
79 if parent != self.parent : indiceDsLeContenu += parent.rangDsPyxb()
83 if debug :print ('indiceDsLeConten',indiceDsLeContenu)
84 if debug :print (pyxb.namespace.ExpandedName(self.cata.modeleMetier.Namespace, self.nom))
86 #if self.objPyxb ! = None : self.objPyxb.objAccas=self
87 elt=pyxb.binding.basis.ElementContent(self.objPyxb, instance=self.perePyxb.objPyxb, tag=pyxb.namespace.ExpandedName(self.cata.modeleMetier.Namespace, self.nom))
88 self.perePyxb.objPyxb.orderedContent().insert(indiceDsLeContenu,elt)
89 if (elt.elementDeclaration.isPlural()):
90 # je suis donc un MCList
91 listeObjetsAccas=self.parent.getChild(self.nom,restreint='oui')
92 if len(listeObjetsAccas) == 1 : monIndex=1
93 else : monIndex=listeObjetsAccas.index(self)
94 listeObjetsPyxb=getattr(self.perePyxb.objPyxb,elt.elementDeclaration._ElementDeclaration__key)
95 listeObjetsPyxb.insert(monIndex,self.objPyxb)
97 setattr(self.perePyxb.objPyxb,elt.elementDeclaration._ElementDeclaration__key,self.objPyxb)
98 if debug : print (list(map(lambda o:o.value, self.perePyxb.objPyxb.orderedContent())))
99 print ('fin _____________ addObjPyxb ds X_OBJECT', self.nom, indiceDsLeContenu)
102 def rangDsPyxb(self):
103 monRangEnAccas=self.parent.mcListe.index(self)
105 for frere in self.parent.mcListe[0: monRangEnAccas] :
106 rangEnPyxb += frere.longueurDsArbre()
110 class X_MCSIMP(X_OBJECT):
111 # -----------------------
113 def buildObjPyxb(self, debug=False) :
114 if not self.cata or not self.cata.modeleMetier : return
115 if self.nom == 'Consigne' : return None
116 if debug : print ('X_MCSIMP buildObjPyxb', self.nom, self,self.valeur)
117 if debug and self.objPyxbDeConstruction == None : print (self.nom, ' pas de pyxb')
118 elif debug : print ('objPyxbDeConstruction', self.objPyxbDeConstruction)
120 if self.objPyxbDeConstruction != None :
121 self.objPyxb = self.objPyxbDeConstruction
122 #self.objPyxb.objAccas=self
123 self.maClasseModeleMetier =type(self.objPyxb)
124 self.objPyxbDeConstruction = None
125 if issubclass(self.maClasseModeleMetier, self.cata.modeleMetier.pyxb.binding.basis.STD_union):
126 self.needFactory=True
127 self.maClasseModeleMetierFactory=getattr(self.maClasseModeleMetier,'Factory')
128 else : self.needFactory=False
130 self.monNomClasseModeleMetier='T_'+self.nom
131 if self.nom in list(self.cata.DicoNomTypeDifferentNomElt.keys()) :
132 self.monNomClasseModeleMetier=self.cata.DicoNomTypeDifferentNomElt[self.nom][self.nomComplet()]
133 self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
134 if issubclass(self.maClasseModeleMetier, self.cata.modeleMetier.pyxb.binding.basis.STD_union):
135 if debug : print ('needFactory')
136 self.needFactory=True
137 self.maClasseModeleMetierFactory=getattr(self.maClasseModeleMetier,'Factory')
138 else : self.needFactory=False
140 if self.valeur != None :
141 if self.needFactory : self.objPyxb=self.maClasseModeleMetierFactory(self.valeur)
142 else : self.objPyxb=self.maClasseModeleMetier(self.valeur)
144 if self.needFactory : self.objPyxb=None
145 else : self.objPyxb=self.maClasseModeleMetier(_validate_constraints=False)
148 # c est la que le bat blesse
149 #if self.objPyxb !=None : self.objPyxb.objAccas=self
150 #if debug : print ('X_MCSIMP', self.nom, self.objPyxb, )
151 if debug : print ('fin X_MCSIMP', self.objPyxb, self.nom, self, self.maClasseModeleMetier,self.valeur)
154 def setValeurObjPyxb(self,newVal, debug=False):
155 if not self.cata or not self.cata.modeleMetier : return
156 if debug : print (' ___________________________ dans setValeurObjPyxb MCSIMP ', self.nom, newVal)
157 if debug : print (' self.perePyxb = ', self.perePyxb.nom)
158 if inspect.isclass(newVal) and issubclass(newVal,A_ASSD) : newVal = newVal.nom
159 if debug : print (self.nom , ' a pour pere', self.perePyxb, self.perePyxb.nom, self.perePyxb.objPyxb)
161 #if newVal != None : nvlObj=self.maClasseModeleMetier(newVal)
163 if self.needFactory : nvlObj=self.maClasseModeleMetierFactory(newVal)
164 else : nvlObj=self.maClasseModeleMetier(newVal)
166 if self.needFactory : nvlObj =None
167 else : nvlObj=self.maClasseModeleMetier(_validate_constraints=False)
170 setattr(self.perePyxb.objPyxb,self.nom,nvlObj)
173 for i in self.perePyxb.objPyxb.orderedContent():
174 if isinstance(i._Content__value, self.maClasseModeleMetier) :
175 self.perePyxb.objPyxb.orderedContent()[indice]=self.perePyxb.objPyxb.orderedContent()[-1]
176 del(self.perePyxb.objPyxb.orderedContent()[-1])
180 if not trouve : print ('Attention souci au changement de valeur de ', self.nom)
182 #self.objPyxb.objAccas=self
183 if debug : print ('fin du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent())
188 class X_MCCOMPO(X_OBJECT) :
189 # -------------------------
191 def buildObjPyxb(self,mc_list, debug=False) :
192 if not self.cata or not self.cata.modeleMetier : return
193 print ('X_MCCOMPO', self.nom)
196 for objAccas in mc_list :
197 if objAccas.nature == 'MCBLOC' :
198 self.exploreBLOC(objAccas)
199 elif objAccas.nature == 'MCList' :
200 if objAccas[0].definition.max > 1 :
201 self.listArg.append(objAccas) # les MCList n ont pas objPyxb
202 self.dicoArg[objAccas.nom]=[]
203 for fils in objAccas :
205 self.dicoArg[objAccas.nom].append(fils.objPyxb)
207 objAccas[0].perePyxb=self
208 self.dicoArg[objAccas.nom]=objAccas[0].objPyxb
209 self.listArg.append(objAccas[0].objPyxb)
211 if objAccas.nom == 'Consigne' : continue
212 self.listArg.append(objAccas.objPyxb)
213 self.dicoArg[objAccas.nom]=objAccas.objPyxb
214 objAccas.perePyxb=self
216 if debug : print('X_MCCOMPO -- listArg ---',self.nom,self.listArg)
217 if debug : print('X_MCCOMPO -- dicoArg ---',self.nom,self.dicoArg)
219 self.monNomClasseModeleMetier='T_'+self.nom
220 if self.nom in list(self.cata.DicoNomTypeDifferentNomElt.keys()) :
221 self.monNomClasseModeleMetier=self.cata.DicoNomTypeDifferentNomElt[self.nom][self.nomComplet()]
222 self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
224 # PN : Ne doit-on pas tester avant
225 if self.objPyxbDeConstruction != None :
226 self.objPyxb = self.objPyxbDeConstruction
227 self.objPyxbDeConstruction = None
228 if debug : print ('je passe dans le if pour ', self.nom, self.objPyxb, self)
229 if debug : print ('X_MCCOMPO', self, self.nom, self.objPyxb,self.listArg,self.objPyxb.orderedContent())
231 if debug : print (self.nom)
232 if debug : print (self.listArg)
233 # self.objPyxb=self.maClasseModeleMetier(*self.listArg)
234 self.objPyxb=self.maClasseModeleMetier(**self.dicoArg)
236 for obj in self.listArg:
237 # on teste le caractere pluriel
238 if (hasattr(obj, 'nature')) : # attention on a un object Accas et non un pyxb car les MCList n ont pas de objPyxb
239 max=obj[0].definition.max
242 if not(issubclass(type(obj), pyxb.binding.basis.enumeration_mixin) ):
243 newOrderedContent.append(self.objPyxb.orderedContent()[list(map(lambda o:id(o.value), self.objPyxb.orderedContent())).index(id(obj))] )
245 newOrderedContent.append(self.objPyxb.orderedContent()[list(map(lambda o:type(o.value), self.objPyxb.orderedContent())).index(type(obj))] )
246 else : # element Pural
247 for c in self.objPyxb.orderedContent() :
248 if isinstance(c._Content__value,list) and isinstance(c._Content__value[0], type(obj[0].objPyxb)): newOrderedContent.append(c)
250 for i in range(len(self.listArg)):
251 self.objPyxb.orderedContent()[i]=newOrderedContent[i]
252 if debug : print ('X_MCCOMPO', self, self.nom, self.objPyxb,self.listArg,newOrderedContent,self.objPyxb.orderedContent())
253 #self.objPyxb.objAccas=self
254 if debug : print ('fin buildObjetPyxb _______________________________________')
255 # assert(self.objPyxb.validateBinding())
258 def exploreBLOC(self,objAccas):
259 print (' ds exploreBLOC', objAccas .nom)
261 for fils in objAccas.mcListe:
262 if fils.nature == 'MCBLOC' :
263 self.exploreBLOC(fils)
264 elif fils.nature == 'MCList' :
265 #print ('exploreBLOC des MCList', fils.nom)
266 self.dicoArg[fils.nom]=[]
267 if fils[0].definition.max > 1 :
268 #print ('ajout de ', fils)
269 self.listArg.append(fils) # les MCList n ont pas objPyxb
270 for objFils in fils :
271 objFils.perePyxb=self
272 self.dicoArg[fils.nom].append(objFils.objPyxb)
274 fils[0].perePyxb=self
275 self.dicoArg[fils.nom]=fils[0].objPyxb
276 self.listArg.append(fils[0].objPyxb)
278 if fils.nom == "Consigne" : continue
279 #print ('ajout de 2', fils.objPyxb)
280 self.listArg.append(fils.objPyxb)
281 self.dicoArg[fils.nom]=fils.objPyxb
283 print (fils.nom ,' est un SIMP a pour pere Pyxb', self, self.nom)
288 class X_MCBLOC (X_MCCOMPO):
289 # --------------------------
290 def buildObjPyxb(self,mc_list,debug=False):
291 if not self.cata or not self.cata.modeleMetier : return
292 if debug : print ('X_MCBLOC buildObjPyxb', self.nom, self, mc_list, 'ne fait rien')
296 def addObjPyxb(self, indiceDsLeContenu, debug=False):
297 if not self.cata or not self.cata.modeleMetier : return
298 if debug : print ('X_MCBLOC addObjPyxb', self.nom, self, self.mcListe, indiceDsLeContenu)
299 rangDeLObjet=indiceDsLeContenu
300 for obj in self.mcListe:
301 obj.addObjPyxb( rangDeLObjet)
302 rangDeLObjet=rangDeLObjet+obj.longueurDsArbre()
304 def delObjPyxb(self, debug=False):
305 if not self.cata or not self.cata.modeleMetier : return
306 if debug : print ('X_MCBLOC delObjPyxb', self.nom, ' --------------------------')
307 for obj in self.mcListe:
309 if debug : print ('fin X_MCBLOC delObjPyxb --------------------------')
311 class X_MCLIST (X_MCCOMPO):
312 # --------------------------
314 def buildObjPyxb(self,mc_list, debug=False):
315 if debug : print ('X_MCLIST buildObjPyxb ne fait rien', self.nom, self, mc_list)
318 def addObjPyxb(self,indiceDsLeContenu, debug=False):
319 if debug : print ('X_MCLIST addObjPyxb', self.nom, indiceDsLeContenu)
320 rangDeLObjet=indiceDsLeContenu
321 for objFils in self :
322 objFils.addObjPyxb(rangDeLObjet)
323 rangDeLObjet= rangDeLObjet + 1
325 def delObjPyxb(self, debug=False):
326 if not self.cata or not self.cata.modeleMetier : return
327 if debug : print ('X_MCLIST delObjPyxb', self.nom, ' --------------------------')
330 if debug : print ('fin X_MCLIST delObjPyxb --------------------------')
333 class X_MCFACT (X_MCCOMPO):
334 # -------------------------
337 class X_ETAPE(X_MCCOMPO) :
338 # -------------------------
340 def metAJourNomASSD(self, nom,debug=False):
341 if not self.cata or not self.cata.modeleMetier : return
342 if debug : print ('X_ETAPE metAJourLesAttributs', self.nom, nom,' --------------------------')
343 self.objPyxb.name=nom
345 class X_JDC (X_MCCOMPO):
346 # ---------------------
350 if not self.cata or not self.cata.modeleMetier : return
351 #if hasattr(self.cata,'DicoNomTypeDifferentNomElt') : print ('jkllllllllllllllll')
352 if not(hasattr(self.cata,'DicoNomTypeDifferentNomElt')) : self.cata.DicoNomTypeDifferentNomElt={}
353 self.monNomClasseModeleMetier=self.code
354 self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
355 self.objPyxb=self.maClasseModeleMetier()
356 #self.objPyxb.objAccas=self
357 pyxb.GlobalValidationConfig._setContentInfluencesGeneration(pyxb.GlobalValidationConfig.NEVER)
358 pyxb.GlobalValidationConfig._setInvalidElementInContent(pyxb.GlobalValidationConfig.RAISE_EXCEPTION)
359 pyxb.GlobalValidationConfig._setOrphanElementInContent(pyxb.GlobalValidationConfig.RAISE_EXCEPTION)
363 def enregistreEtapePyxb(self,etape,indice=0):
364 # ne fonctionne pas : a reecrire avec les fonctions addObjPyxb et ReconstruitPerePyxb
365 # ne contient pas indice pour l insant
366 #print ( 'hhhhhhhhhhhhhhh enregistreEtapePyxb hhhhhhhhhhhhhhhhhhhhhhhhh')
367 #print ('enregistre ds ',self, etape.nom, 'indice = ', indice)
368 if not self.cata.modeleMetier : return
369 self.objPyxb.append(etape.objPyxb)
370 etape.perePyxb = self
372 #print (self.objPyxb.orderedContent())
373 #if indice != (len(self.objPyxb.orderedContent()) ) :
374 # tampon=self.objPyxb.orderedContent()[-1]
375 # for i in reversed(range(len(self.objPyxb.orderedContent()))):
376 # self.objPyxb.orderedContent()[i]=self.objPyxb.orderedContent()[i-1]
377 # if i == indice + 1 : break
378 # self.objPyxb.orderedContent()[indice]=tampon
380 #print (self.objPyxb.orderedContent())
382 # self.objPyxb.validateBinding()
383 #except pyxb.ValidationError as e:
386 def toXml(self,fichier=None):
388 if not self.cata or not self.cata.modeleMetier : return
389 print (' to xml ***************',self.objPyxb,'***************',)
390 print (' to xml ***************',self,'***************',)
391 print (' to xml ***************',self.objPyxb.orderedContent(),'***************',)
392 print(self.objPyxb.toDOM().toprettyxml())
393 print(self.objPyxb.toxml())
394 return (self.objPyxb.toDOM().toprettyxml())
397 def analyseFromXML(self):
398 print ("je suis ds analyseFromXML -- > appel ds analyseXML de I_JDC.py")
399 print (self.procedure)
400 if self.procedure == "" : return
401 self.objPyxb=self.cata.modeleMetier.CreateFromDocument(self.procedure)
402 for contentObjEtape in self.objPyxb.orderedContent():
403 objEtape=contentObjEtape.value
404 objEtape.dictArgs=(self.pyxbToDict(objEtape))
405 objEtape.monNomClasseAccas=objEtape._ExpandedName.localName()
406 objEtape.monNomClasseAccas=objEtape.monNomClasseAccas[2:]
407 # doute sur les 2 lignes suivantes : objEtape peut etre contentObjEtape 2juin20
408 objEtape.dictPyxb['objEnPyxb']=objEtape
409 objEtape.dictArgs['dicoPyxbDeConstruction']=objEtape.dictPyxb
410 print ('dicoPyxbDeConstruction', objEtape.dictArgs['dicoPyxbDeConstruction'])
411 maClasseAccas=getattr(self.cata,objEtape.monNomClasseAccas)
412 print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
413 print (maClasseAccas)
414 print (objEtape , type(objEtape))
415 print (objEtape.dictPyxb)
417 print (objEtape.monNomClasseAccas, type(objEtape.monNomClasseAccas))
418 print (objEtape._ExpandedName, type(objEtape._ExpandedName))
419 print ('dictArgs',objEtape.dictArgs)
420 print ('dictPyxb',objEtape.dictPyxb)
421 objAccasEtape=maClasseAccas(**(objEtape.dictArgs))
422 print (objAccasEtape)
423 print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
424 print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
425 print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
426 print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
429 def pyxbToDict(self,objAAnalyser):
430 # la transformation de l objAAnalyser en type lu par eficas ne fonctionne pas pour tout
431 # faudrait - il travailler sur les types des objets ?
432 # c est a revoir -> fonction cast a prevoir ds les 2 sens
433 if objAAnalyser is None: return
434 print ('debut pour_____________________________ ',objAAnalyser)
438 if isinstance(objAAnalyser, pyxb.binding.basis.simpleTypeDefinition):
439 #print ('je suis un MCSimple')
440 # il faut traiter les UserASSD
441 # traitement scalaire
442 objAAnalyser.dictPyxb=objAAnalyser
443 if not (isinstance(objAAnalyser,pyxb.binding.basis.STD_list)):
444 #print ('je suis un scalaire')
446 if isinstance(objAAnalyser, str) : return str(objAAnalyser)
447 if isinstance(objAAnalyser, int) : return int(objAAnalyser)
448 if isinstance(objAAnalyser, float): return float(objAAnalyser)
449 if isinstance(objAAnalyser, pyxb.binding.basis.enumeration_mixin): return str(objAAnalyser)
451 #if isinstance(objAAnalyser, types.StringTypes): return str(objAAnalyser)
452 #if isinstance(objAAnalyser, types.FloatType): return float(objAAnalyser)
453 #if isinstance(objAAnalyser, (types.IntType, types.LongType)): return int(objAAnalyser)
454 #print ('________ fin pour ', objAAnalyser, 'retour', repr(objAAnalyser))
457 #print ('je suis une liste')
459 for obj in objAAnalyser :
460 if isinstance(obj, str): laListe.append (str(obj))
461 elif isinstance(obj, int): laListe.append (int(obj))
462 elif isinstance(obj, float): laListe.append (float(obj))
463 elif isinstance(obj, pyxb.binding.basis.enumeration_mixin): laListe.append(str(obj))
464 else : laListe.append(obj)
466 # if debug : print ('je suis Plural')
467 # ou ? return objAAnalyser
468 #if isinstance(objAAnalyser, types.StringTypes): return pyxb.utils.utility.QuotedEscaped(objAAnalyser,)
469 #pour une enum getattr(value dans le type)
470 # return pythonLiteral(ReferenceFacet(facet=value, **kw))
471 #print ('je suis un mot complexe')
472 # traitement FACT ou BLOC
473 # ------------------------
474 # il faut traiter les fact multiples
475 objAAnalyser.dictPyxb = {}
476 objAAnalyser.dictPyxb['objEnPyxb']=objAAnalyser
477 #for expandedName, elementDeclaration in objAAnalyser._ElementMap.items():
478 # objPyxbName = expandedName.localName()
479 # objPyxbValue = getattr(objAAnalyser, objPyxbName)
480 for objEltContentFils in objAAnalyser.orderedContent():
481 objPyxbValue = objEltContentFils.value
482 objPyxbName = objEltContentFils.elementDeclaration.id()
483 elementDeclaration = objEltContentFils.elementDeclaration
484 #if objPyxbValue == None or objPyxbValue == [] : continue
485 if elementDeclaration.isPlural():
486 if objPyxbName not in list(dictArgs.keys()) : dictArgs[objPyxbName]=[]
487 if objPyxbName not in list(objAAnalyser.dictPyxb.keys()) : objAAnalyser.dictPyxb[objPyxbName]=[]
488 dictArgs[objPyxbName].append(self.pyxbToDict(objPyxbValue))
489 objAAnalyser.dictPyxb[objPyxbName].append(objPyxbValue.dictPyxb)
491 dictArgs[objPyxbName] = self.pyxbToDict(getattr(objAAnalyser, objPyxbName))
492 objAAnalyser.dictPyxb[objPyxbName] = objPyxbValue.dictPyxb
493 # print ('ajout dans dictPyxb', objPyxbName, objPyxbValue.dictPyxb)
494 #print ('avec la valeur', 'de', objAAnalyser.dictPyxb[objPyxbName])
496 #print ("***********************************")
497 #print ('pyxbToDict fin pour ********** ', objAAnalyser)
498 #print ('pyxbToDict ', objAAnalyser, objAAnalyser.dictPyxb)
499 #print ('pyxbToDict fin pour ********** ', objAAnalyser)
500 #print ("***********************************")
503 #for i in dictArgs.keys(): print (i, " ", dictArgs[i], " ", type(dictArgs[i]))
504 #print ('fin pour ',objAAnalyser)
508 # def analyseContent(self,objAAnalyser):
509 # objAAnalyser.dictArgs={}
510 # for objContenu in objAAnalyser.content():
511 # #print ('j analyse ', objContenu)
512 # objContenu.monNomClasseModeleMetier=str(objContenu.__class__).split('.')[-1]
513 # objContenu.monNomClasseAccas=objContenu.monNomClasseModeleMetier[2:-2]
514 # #maClasseAccas=classeAccasPere.entites[objContenu.monNomClasseAccas]
515 # if objContenu._IsSimpleTypeContent():
516 # print (objContenu.monNomClasseAccas,objContenu.pythonLiteral())
517 # print (objContenu.monNomClasseAccas,objContenu.xsdLiteral())
518 # #chaine=objContenu.pythonLiteral().split('(')[1].split(')')[0]
519 # print (dir(objContenu))
520 # objAAnalyser.dictArgs[objContenu.monNomClasseAccas]=None
521 # #objAAnalyser.dictArgs[objContenu.monNomClasseAccas]=objContenu.pythonLiteral()
523 # self.analyseContent(objContenu)
524 # objAAnalyser.dictArgs[objContenu.monNomClasseAccas]=objContenu.dictArgs
525 #print ( '________________')
526 #print (objAAnalyser.monNomClasseAccas)
527 #for i in objAAnalyser.dictArgs : print (i, objAAnalyser.dictArgs[i])
528 #print ( '________________')
532 if __name__ == "__main__":