From 323aa0ad518d31f8d6883f1bfebbb6220499d5eb Mon Sep 17 00:00:00 2001 From: PASCALE NOYRET Date: Tue, 1 Mar 2022 14:33:00 +0100 Subject: [PATCH] exemple sortie dico --- ReacteurNumerique/getDicoPython.py | 15 +++++++++++++++ generator/generator_dico.py | 20 ++++++++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100755 ReacteurNumerique/getDicoPython.py diff --git a/ReacteurNumerique/getDicoPython.py b/ReacteurNumerique/getDicoPython.py new file mode 100755 index 00000000..34e3a540 --- /dev/null +++ b/ReacteurNumerique/getDicoPython.py @@ -0,0 +1,15 @@ +# fichier exemple pour modifier initial_power +# Modules Python +# Modules Eficas +# la on peut mettre le EFICAS_DIR +import sys,os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) +from InterfaceQT4.eficas_go import getDicoPython + +monDico=getDicoPython("ReacteurNumerique","cata_RN_EDG_PN.py","edg_REP1300_FULL_PN.comm") +from pprint import pprint +print (monDico) + + + + diff --git a/generator/generator_dico.py b/generator/generator_dico.py index 5122789a..0b3eb71d 100644 --- a/generator/generator_dico.py +++ b/generator/generator_dico.py @@ -91,10 +91,26 @@ class DicoGenerator(PythonGenerator): def generMCSIMP(self,obj) : """recuperation de l objet MCSIMP""" s=PythonGenerator.generMCSIMP(self,obj) + listeParents=[] + objTraite=obj + while hasattr(objTraite,'parent') and objTraite.parent != None : + objTraite=objTraite.parent + if objTraite.nature == 'JDC' : break + if objTraite.nature == 'BLOC' : continue + if objTraite.nature == 'OPERATEUR' : + if objTraite.sd.nom != None : listeParents.insert(0,objTraite.sd.nom) + else : listeParents.insert(0,'SD_non_nommee_erreur') + elif objTraite.nature == 'MCList' : + if len(objTraite.data > 1) : + monRang=objTraite.data.index(objTraite) + listeParents.insert(0,objTraite.nom+'_'+str(monRang)) + else : listeParents.insert(0,objTraite.nom) + else : listeParents.insert(0,objTraite.nom) courant=self.Dico - for p in obj.getGenealogiePrecise()[0:-1]: + for p in listeParents: if not (p in courant.keys()) : courant[p]={} courant=courant[p] - courant[obj.nom]=obj.val + courant[obj.nom]=s self.texteDico+=obj.nom+ "=" + s[0:-1]+ "\n" return s + -- 2.39.2