self.nomDuTypePyxb=nom
return nom
+ if debug : print ('definitNomDuTypePyxb deja traite ', self.nom , ' suite de l algo' )
if nom == 'T_Consigne' : return nom
if debug : print ('forceACreer : ', forceACreer)
indice=0
while (indice < len(listePossible)) :
objAComparer=listePossible[indice]
- if debug : print (self.compare)
+ if debug : print (self.compare(objAComparer))
if self.compare(objAComparer) :
self.nomDuTypePyxb=objAComparer.nomDuTypePyxb
if debug : print (self, objAComparer)
if (hasattr (self, 'nomXML')) and self.nomXML != None :
nomAlter='T_'+self.nomXML+'_'+str(indice)
self.nomDuTypePyxb=nomAlter
+ if debug : print ('self.nomDuTypePyxb : ', nomAlter)
return nomAlter
def factoriseEtCreeDump(self, laListe, indent=2 ,nomAppel=None, debug=False):
- if debug : print(self.nom, laListe, indent, nomAppel)
+ if debug : print('______________ debut factoriseetCreeDump',self.nom, laListe, indent, nomAppel)
maListeRetour=[]
aReduire={}
#min=1
-
for ligne in laListe :
if ligne[0] in aReduire.keys():
if len(ligne) == 1 :aReduire[ligne[0]].append([])
if debug : print ('la Liste', laListe, declencheChoiceAvecSeqVid)
- if debug : print (aReduire)
+ if debug : print ('aReduire',aReduire, 'keys', aReduire.keys())
if len(aReduire.keys()) == 1 :
if declencheChoiceAvecSeqVid == False :
creeChoice=False
creeChoice=True
creeSequence=False
- if debug : print ('creeSequence', creeSequence, aReduire)
+ if debug : print ('creeSequence', creeSequence,'creechoice', creeChoice)
for nomMC in aReduire.keys():
if debug : print ('--------------------------------------------- boucle for', nomMC, aReduire[nomMC])
listeSuivante=aReduire[nomMC]
if listeSuivante == [[]] : continue # Est-ce toujours vrai ?
if debug : print ('listeSuivante', listeSuivante)
aTraiter=listeSuivante
- while len(aTraiter) == 1 and isinstance(aTraiter[0],list): aTraiter=aTraiter[0]
if debug : print ('aTraiter', aTraiter)
- if len(aTraiter) == 1 :
- self.ajouteAuxTextes(aTraiter[0],indent)
- else :
- for mc in aTraiter : self.ajouteAuxTextes(mc, indent)
+ if debug : print ('aTraiter', aTraiter)
+ if len(aTraiter) == 1 :
+ if not(isinstance(aTraiter[0],list)) : self.ajouteAuxTextes(aTraiter[0],indent )
+ while len(aTraiter) == 1 and isinstance(aTraiter[0],list): aTraiter=aTraiter[0]
+ for mc in aTraiter : self.ajouteAuxTextes(mc, indent)
+ else :
+ self.factoriseEtCreeDump(aTraiter, indent+int(creeSequence),nomMC)
if creeChoice : indent=indent -1 ; self.texteComplexe += '\t'*(indent) + finSequenceDsBloc
if debug : print ('--------------------------------------------- fin boucle for', nomMC)
+ #if nomMC=='A' : self.texteComplexe=''
+ #if nomMC=='B' : break
if declencheChoiceAvecSeqVid :
self.texteComplexe += '\t'*indent + debSequenceDsBloc
if creeChoice : indent=indent -1 ; self.texteComplexe += '\t'*indent + finChoiceDsBloc
if creeSequence : indent=indent -1 ; self.texteComplexe += '\t'*(indent) + finSequenceDsBloc
- debug=False
- if debug : print (self.texteSimple)
+ ##if debug : print (self.texteSimple)
if debug : print ('______',' self.texteComplexe')
if debug : print (self.texteComplexe)
- if debug : print ('_____', 'self.texteComplexeVenantDesFils')
- if debug : print (self.texteComplexeVenantDesFils)
+ #if debug : print ('_____', 'self.texteComplexeVenantDesFils')
+ #if debug : print (self.texteComplexeVenantDesFils)
+ if debug : print ('ma Liste Retour', maListeRetour)
if debug : print ('fin pour _______________________________', self.nom)
return (maListeRetour)
# PN change le 17 fevrier . Est-ce normal d arriver la ?
# if faut traiter les Blocs exclusifs qui donnent des choices de sequences
# mais celles-ci risquent d etre ambigues
- while (isinstance(nomMC,list)) :
- nomMC=nomMC[0]
+ while (isinstance(nomMC,list)) :
+ if nomMC == [] : return # on garde les [] dans les choix sinon souci sur les sequences/choix
+ nomMC=nomMC[0]
+
if nomMC == 'Consigne' or nomMC == 'blocConsigne' : return
#if debug : print (nomMC, 'dans ajoute vraiment aux textes', self.entites )
def fusionneDesMatricesDeMemeType(self,nomMC,nbColsMin,nbColsMax,nbLigsMin,nbLigsMax,debug=False):
- #if nomMC == 'BU_map' : debug=True
if debug : print ('fusionneDesMatricesDeMemeType', nomMC,nbColsMin,nbColsMax,nbLigsMin,nbLigsMax)
elt=self.entites[nomMC][0]
typeDeMatrice =elt.type[0]