]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
pour creer un comm a partir d un xml
authorPASCALE NOYRET <pascale.noyret@edf.fr>
Thu, 31 Mar 2022 14:14:51 +0000 (16:14 +0200)
committerEric Fayolle <eric.fayolle@edf.fr>
Fri, 8 Apr 2022 08:44:07 +0000 (10:44 +0200)
InterfaceQT4/eficas_go.py
ReacteurNumerique/lectureObjetPython.py [new file with mode: 0755]
Tools/generateComm.py [new file with mode: 0755]

index bd70372ed21765ce6002161d4f109f6508160042..fef0bf17900a823fe6e4e1e9a3ff949a4e5ea880 100755 (executable)
@@ -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 (executable)
index 0000000..30e289c
--- /dev/null
@@ -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 (executable)
index 0000000..96a2130
--- /dev/null
@@ -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')