From: PASCALE NOYRET Date: Thu, 31 Mar 2022 14:14:51 +0000 (+0200) Subject: pour creer un comm a partir d un xml X-Git-Tag: merge_uncertainty_odysee_1210~106 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=de9491866ead1a36f287ce5e99a3c32287acb9cb;p=tools%2Feficas.git pour creer un comm a partir d un xml --- diff --git a/InterfaceQT4/eficas_go.py b/InterfaceQT4/eficas_go.py index bd70372e..fef0bf17 100755 --- a/InterfaceQT4/eficas_go.py +++ b/InterfaceQT4/eficas_go.py @@ -116,20 +116,42 @@ def genereXML(code=None): print ('comm file is needed') return - monEficasSsIhm = getEficasSsIhm(code=options.code, forceXML=True) - from .editorSsIhm import JDCEditorSsIhm + if options.fichierOut == None : fichierXMLOut=fichier[:fichier.rfind(".")]+'.xml' + else : fichierXMLOut=options.fichierOut + + monEficasSsIhm = getEficasSsIhm(code=options.code, forceXML=True) monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier) - if options.fichierXMLOut == None : - fichierXMLOut=fichier[:fichier.rfind(".")]+'.xml' - else : - fichierXMLOut=options.fichierXMLOut if not(monEditeur.jdc.isValid()): print ('Fichier comm is not valid') return #print ('Fichier comm is not valid') - monEditeur.XMLgenerator.gener(monEditeur.jdc) - monEditeur.XMLgenerator.writeDefault(fichierXMLOut) + monEditeur.XMLGenerator.gener(monEditeur.jdc) + monEditeur.XMLGenerator.writeDefault(fichierXMLOut) + +def genereComm(code=None): +#----------------------- + from Editeur import session + options=session.parse(sys.argv) + if code != None : options.code = code + if options.fichierCata == None : + print ('Use -c cata_name.py') + return + try : fichier=options.comm[0] + except : fichier=None + if fichier==None : + print ('xml file is needed') + return + + monEficasSsIhm = getEficasSsIhm(code=options.code, forceXML=True) + + from .editorSsIhm import JDCEditorSsIhm + if options.fichierOut == None : fichierCommOut=fichier[:fichier.rfind(".")]+'.comm' + else : fichierCommOut = fichierXMLOut + monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier) + # on ne sait lire que des xml valides + monEditeur.pythonGenerator.gener(monEditeur.jdc,format = 'beautifie') + monEditeur.pythonGenerator.writeFile(fichierCommOut) def genereStructure(code=None): #------------------------------ diff --git a/ReacteurNumerique/lectureObjetPython.py b/ReacteurNumerique/lectureObjetPython.py new file mode 100755 index 00000000..30e289c1 --- /dev/null +++ b/ReacteurNumerique/lectureObjetPython.py @@ -0,0 +1,24 @@ +# 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 getObjectPython + +from InterfaceQT4.eficas_go import getObjectPython +monJdC=getObjectPython("ReacteurNumerique","cata_RN_EDG.py","edg_REP1300_FULL.comm") + +monScenarioData=monJdC.Scenario_data[0] # Au 1er niveau, on a toujours des listes en eficas +print ('monScenarioData.initial_power', monScenarioData.initial_power) # ici on a la valeur directement (comme en pyxb et pas l objet +monObjetInital_Power=monScenarioData.getChildOrChildInBloc('initial_power') # la on a l objet python +OkPourChangement= monObjetInital_Power.validValeur('tototo') # on verifie que la valeur que l onj veut mettre est valide +print ('toto est elle une valeur valide pour monScenarioData.initial_power ? ', OkPourChangement) +OkPourChangement= monObjetInital_Power.validValeur(0.11) # on verifie que la valeur que l onj veut mettre est valide +if OkPourChangement : + changementFait = monObjetInital_Power.setValeur(0.11) + print ('changementFait :' , changementFait) + print ('monScenarioData.initial_power' , monScenarioData.initial_power) +monJdC.editor.saveFile('/tmp/monNouveau.comm') + + diff --git a/Tools/generateComm.py b/Tools/generateComm.py new file mode 100755 index 00000000..96a2130f --- /dev/null +++ b/Tools/generateComm.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" +"" + cree le .xml associe au .comm + generateXML.py -c leCatalogue le.comm + 23 avril + +""" +# Modules Python +# Modules Eficas + +import sys +import os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'../')) + +from InterfaceQT4 import eficas_go +eficas_go.genereComm(code='NonConnu')