exec aExecuter in dict_contexte
liste_MC=(("CALC_G","R_INF_FO"),("CALC_G","R_SUP_FO"),("CALC_G","MODULE_FO"))
liste_achanger = chercheValeurSelonGenea2 (jdc,liste_MC)
+ liste_MC=(("CALC_THETA","THETA_3D","R_INF_FO"),("CALC_THETA","THETA_3D","R_SUP_FO"),("CALC_THETA","THETA_3D","MODULE_FO"))
+ liste_achanger2 = chercheValeurSelonGenea3 (jdc,liste_MC)
+ liste_achanger=liste_achanger+liste_achanger2
for item in liste_achanger :
commande=dict_commande[item]
changeValeurABSCNiveau1(commande,jdc)
command=genea[0]
fact=genea[1]
- d={}
for c in jdc.root.childNodes:
if c.name != command:continue
for mc in c.childNodes:
#except :
else :
pass
- liste_valeurs
+ return liste_valeurs
+
+
+#--------------------------------------------------------------------------
+def chercheValeurSelonGenea3(jdc,liste_cherche_valeur):
+#
+#--------------------------------------------------------------------------
+ liste_valeurs=[]
+ for genea in liste_cherche_valeur:
+ profondeur=len(genea)
+ if profondeur > 3 :
+ print "la methode chercheValeurSelonGenea ne convient"
+ print "pas pour cette généalogie"
+ assert(0)
+ command=genea[0]
+ fact=genea[1]
+ mc=genea[2]
+
+ for c in jdc.root.childNodes:
+ if c.name != command : continue
+ for mcf in c.childNodes:
+ if mcf.name != fact : continue
+ l=mcf.childNodes[:]
+ for ll in l:
+ for lc in ll.childNodes:
+ if lc.name !=mc : continue
+ MonTexte=lc.getText(jdc)
+ #try :
+ if ( 1) :
+ exec MonTexte in dict_contexte
+ monNomVariable=MonTexte.split("=")[1][0:-1]
+ if monNomVariable not in liste_valeurs : liste_valeurs.append(monNomVariable)
+ #except :
+ else :
+ pass
return liste_valeurs