From: PASCALE NOYRET Date: Fri, 20 May 2022 12:49:28 +0000 (+0200) Subject: Merge branch 'V9_8_ReacteurNumerique_Dev' of https://git.forge.pleiade.edf.fr/git... X-Git-Tag: merge_uncertainty_odysee_1210~92 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=f8f1b2e310f0cf6e4b1429f69c5f84c7bd7d7414;p=tools%2Feficas.git Merge branch 'V9_8_ReacteurNumerique_Dev' of https://git.forge.pleiade.edf.fr/git/eficas into V9_8_ReacteurNumerique_Dev --- f8f1b2e310f0cf6e4b1429f69c5f84c7bd7d7414 diff --cc Efi2Xsd/AccasXsd.py index 8279ecbe,c13c5227..cb073c85 --- a/Efi2Xsd/AccasXsd.py +++ b/Efi2Xsd/AccasXsd.py @@@ -353,8 -356,8 +354,8 @@@ class X_compoFactoriseAmbigu(X_definiti else : aReduire[ligne[0]]=[ligne[1:],] - if debug : print ('la Liste', laListe, declencheChoiceAvecSeqVid) + if debug : print ('la Liste', laListe, 'declencheChoiceAvecSeqVid : ',declencheChoiceAvecSeqVid) - if debug : print (aReduire) + if debug : print ('aReduire',aReduire, 'keys', aReduire.keys()) if len(aReduire.keys()) == 1 : if declencheChoiceAvecSeqVid == False : creeChoice=False @@@ -372,9 -375,8 +373,8 @@@ self.texteComplexe += '\t'*indent + debutChoiceDsBloc; indent=indent+1 creeChoice=True creeSequence=False -- - if debug : print ('self.texteComplexe', self.texteComplexe) - 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] @@@ -384,12 -386,18 +384,18 @@@ 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 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 len(listeSuivante) == 1 : self.ajouteAuxTextes(listeSuivante[0],indent) + else : self.factoriseEtCreeDump(listeSuivante, indent+int(creeSequence),nomMC) ++ #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 @@@ -418,19 -427,11 +424,24 @@@ # 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 + + if nomMC==[] : return + # on a un niveau de liste par niveau de bloc imbrique + # voir cata_UQ + while (isinstance(nomMC,list)) : + if nomMC==[] : return + if len(nomMC) ==1 : nomMC = nomMC[0] + elif isinstance(nomMC[0],list) : nomMC = nomMC[0] + else : + for mc in nomMC : self.ajouteAuxTextes(mc, indent,debug) + return + + while (isinstance(nomMC,list)) : + if nomMC == [] : return # on garde les [] dans les choix sinon souci sur les sequences/choix + nomMC=nomMC[0] + + + if debug : print ('ajouteAuxTextes apresWhile', nomMC) if nomMC == 'Consigne' or nomMC == 'blocConsigne' : return #if debug : print (nomMC, 'dans ajoute vraiment aux textes', self.entites ) if debug : print (nomMC, 'dans ajoute vraiment aux textes' )