--- /dev/null
+.SUFFIXES: .xsd .py _driver.py _test_driver_0.comm _test_driver_1.comm _test_driver_0.xml _test_driver_1.xml _test_driver_0.py _test_driver_1.py .comm .xml
+#TODO : Supprimer les suffixes inutiles depuis l'utilisation des des règles pattern au lieu des règles suffixes
+#TODO : Ajouter la dépendance entre le make .xml et la présence du driver
+.PHONY: xsdAll driverAll
+SHELL=bash
+
+ifdef EFICAS4VIMMP_ROOT
+srcdir?=${EFICAS4VIMMP_ROOT}
+else
+srcdir?=../..
+endif
+
+confdir?=$(srcdir)/config
+tooldir=$(srcdir)/Tools
+
+# Règle en tête de Makefile
+all: driverAll
+
+export PYXB_ROOT_DIR=/home/C65845/local/PyXB-1.2.6_Python-3.9.2.bin
+export PYXB_PYTHONPATH?=${PYXB_ROOT_DIR}/lib/python3.9/site-packages
+
+include $(confdir)/GNUmakefile.env
+
+
+PYXB ?=pyxbgen
+#PYXB ?=pyxbgen-py3
+
+ifndef PYXB
+ ifeq (, $(shell which pyxbgen))
+ ifeq (, $(shell which pyxbgen-py3))
+ $(error "No pyxbgen $(PATH), consider installing pyxb")
+ else
+ PYXB =pyxbgen-py3
+ endif
+ else
+ PYXB =pyxbgen
+ endif
+endif
+
+################# REGLES DE CONSTRUCTION ########################
+
+#Dépendances entre catalogues :
+define cata_dependencies =
+# Exemple: cata_gromacs$1 : cata_Vimmp$1
+endef
+
+#Définition des dépendances pour le modèle .py
+$(eval $(call cata_dependencies,.py))
+#Définition des dépendances pour le modèle .xsd
+$(eval $(call cata_dependencies,.xsd))
+
+# $(subst .py,.xsd,cata_dependencies)
+
+cata_files= \
+cata_RN.py
+#cata_RN_UQ.py \
+#cata_RN_EDG.py \
+#cata_RN_pn.py
+
+cata_basename=$(cata_files:%.py=%)
+xsd_files = $(cata_files:%.py=%.xsd)
+driver_files= $(cata_files:%.py=%_driver.py)
+
+xsdAll: $(xsd_files)
+driverAll: exec.sh environ.sh qtEficas.sh $(driver_files)
+# qtEficasSlm.sh
+
+
+# Exemple PyxB : $(PYXB) -m $(basename $@) -u $< --location-prefix-rewrite http://chercheurs.edf.com/logiciels/vimmp= --write-for-customization \
+# L'utilisation de $? ne fonctionne pas si l'on ne modifie qu'un seul catalogue car il liste uniquement les fichiers modifiés et pyxb détecte
+# que l'autre fichier en dépend et qu'il n'a pas été regénéré en même temps: $^
+.py.xsd:
+ python3 $(tooldir)/generateXSD.py -c $(abspath $<)
+
+.xsd_driver.py:
+ ./exec.sh $(PYXB) -m $(basename $@) -u $^ --write-for-customization
+ xmllint --path $(confdir) --schema XMLSchema11_local.xsd --noout $^
+
+#Les Tools eficas ont besoins d'un chemin absolu
+#ATTENTION : La .sufix rule n'autorise pas les dépendances après le : (sinon la ligne entière est un nom de fichier bizzare)
+#_test_driver_$1.comm_test_driver_$1.xml:
+# il faut les définir à part
+# TODO : Gérer la dépendance au cata_..._driver.py et au fichier catalogue en utilisant la seconde expansion
+#.SECONDEXPANSION:
+#%_test_driver_$1.xml : %_test_driver_$1.comm $$(realpath $$(*).py) $$(*)_driver.py
+
+define test_xml_rule =
+%_test_driver_$1.xml : %_test_driver_$1.comm $$(realpath $$(*).py)
+ @echo -e "\n\n------ Generate xml test file $$(@) ------\n"
+ @[[ -f $$(*).py ]] || (echo "Le fichier catalogue $$(*).py est introuvable" && false)
+ @[[ -f $$(*)_driver.py ]] || (echo "Le fichier driver $$(*)_driver.py est introuvable" && false)
+ python3 $(tooldir)/validateDataSet.py -c $$(abspath $$(*).py) $$<
+ python3 $(tooldir)/generateXML.py -c $$(abspath $$(*).py) $$<
+endef
+
+
+#ATTENTION : La .sufix rule n'autorise pas les dépendances après le : (sinon la ligne entière est un nom de fichier bizzare)
+#_test_driver_$1.comm_test_driver_$1.py:
+# il faut les définir à part
+define test_driver_rule =
+%_test_driver_$1.py : %_test_driver_$1.xml $(confdir)/test_driver_subst.py
+ @echo -e "\n\n------ Generate xml test driver $$(@) ------\n"
+ sed -e "s,@module@,$$(*)_driver,g" -e "s,@file@,$$(<:%.comm=%.xml),g" $$(confdir)/test_driver_subst.py > $$(@) && \
+ chmod +x $$(<:%.comm=%.py);
+endef
+
+define test_comm_rule =
+%_test_driver_$1_modified.comm : %_test_driver_$1.xml
+ @echo -e "\n\n------ Generate modified.comm file $$(@) ------\n"
+ @[[ -f $$(*).py ]] || (echo "Le fichier catalogue $$(*).py est introuvable" && false)
+ @[[ -f $$(*)_driver.py ]] || (echo "Le fichier driver $$(*)_driver.py est introuvable" && false)
+ python3 $(tooldir)/generateUQComm.py -x -c $$(abspath $$(*).py) -o $$(@) $$<
+ diff -w -I '^#' -I '^ #' $$(@:%_modified.comm=%.comm) $$(@)
+endef
+
+#Définition des règles de construction pour les tests
+#$(eval $(call test_driver_rule,0))
+#$(eval $(call test_driver_rule,1))
+$(foreach it,0 1 2 3 4 5 6 7 8 9, $(eval $(call test_xml_rule,$(it))) )
+$(foreach it,0 1 2 3 4 5 6 7 8 9, $(eval $(call test_driver_rule,$(it))) )
+$(foreach it,0 1 2 3 4 5 6 7 8 9, $(eval $(call test_comm_rule,$(it))) )
+
+#test_driver_xml:= $(patsubst %.comm,%.xml,$(wildcard *_test_driver_?.comm))
+#test_driver_py:= $(patsubst %.comm,%.py,$(wildcard *_test_driver_?.comm))
+
+new_test_driver_xml:= $(foreach it,$(cata_basename), $(patsubst %.comm,%.xml,$(wildcard $(it)_test_driver_?.comm)) )
+new_test_driver_py:= $(foreach it,$(cata_basename), $(patsubst %.comm,%.py,$(wildcard $(it)_test_driver_?.comm)) )
+new_test_driver_comm:= $(foreach it,$(cata_basename), $(patsubst %.comm,%_modified.comm,$(wildcard $(it)_test_driver_?.comm)) )
+
+#$(info $(new_test_driver_xml) "----" $(cata_basename) )
+#$(info $(new_test_driver_py) "----" $(cata_basename) )
+
+# xml:
+# @echo "Reminder: a .comm file is needed for this step"
+# ../tools/generateXML.py -c cata_1.py cata_1_test_1.comm
+
+check test: testAll
+
+################# REGLES DE TESTS ########################
+
+testAll: exec.sh driverAll $(new_test_driver_py) $(new_test_driver_xml) $(new_test_driver_comm)
+ @for i in $(new_test_driver_py) ; do echo -e "\n\n------ Launching $$i ------" && ./exec.sh python3 $$i ; done
+# for i in `ls *_test_driver*.py` ; do echo -e "\n\n------ Launching $$i ------" && ./exec.sh python $$i || break ; done
+
+################# REGLES DE NETTOYAGE ########################
+
+clean:
+ rm -f *.pyc *~ qtEficas.sh exec.sh environ.sh
+ rm -rf raw binding.py __pycache__
+ rm -f $(xsd_files) $(driver_files) *test_driver_?.py *test_driver_?.xml *test_driver_?_modified.comm
+
+cleantest:
+ rm -f *test_driver_?.py *test_driver_?.xml *test_driver_?_modified.comm
+
+++ /dev/null
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021 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
-#
-"""
- Ce module sert a lancer EFICAS configure pour le Web
-"""
-# Modules Python
-import os, sys
-import os, sys
-sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..'))
-
-
-# Modules Eficas
-
-from collections import OrderedDict
-import pprint
-
-
-if sys.version_info[0] < 3:
- print("Must be using Python 3")
- sys.exit()
-
-class AccasConnecteur :
- def __init__(self,code, fichierCata=None, langue=None, fichierComm=None,appWeb=None) :
- #-------------------------------------------------------------------------------------
-
- self.appWeb=appWeb
-
- if code == None : multi = True
- else : multi = False
- from Editeur.eficas_go import getEficasSsIhm
- self.monEficas=getEficasSsIhm(code=code, salome=0, multi=multi, langue=langue,fichierCata=fichierCata, GUIPath='Web')
-
- if self.monEficas == None :
- self.toWebApp('afficheMessage', 'erreur à la construction de l appli Eficas', 'rouge')
- return
- # faire l equivalent du editorManager
- if fichierCata == None and fichierComm :
- self.toWebApp('afficheMessage', 'pour ouvrir un JDC, il faut connaitre le catalogue', 'rouge')
- return
- self.litFichierComm(fichierComm)
-
- def toWebApp(self,fction,*args, **kwargs):
- #-----------------------------------------
- #if fction =='propageValide' :
- debug=0
- if debug : print ('PNPNPN : self.appWeb.toWebApp', fction, *args, **kwargs)
- if self.appWeb == None :
- #if fction =='propageValide' : print ('self.appWeb.toWebApp propageValide', self.monEditeur.getNodeById(args[0]).nom)
- return
- self.appWeb.fromConnecteur(fction, *args, **kwargs)
-
- def litFichierComm(self,fichierComm=None):
- #-----------------------------------------
- from InterfaceGUI.Web.editor import JDCWebEditor
- self.monEditeur=JDCWebEditor(self.monEficas,fichierComm,connecteur=self)
-
- def getListeCommandes(self):
- #---------------------------
- if self.monEditeur == None : return
- return (self.monEditeur.jdc.getListeCmd())
-
- def getListeMotsClesFilsPossibles(self,nomCommande):
- #-----------------------------------------
- # ici il faut programmer getListeMotsClesFilsPossibles dans P_ENTITE
- # Pour l instant on renvoie entites
- # doit aussi pouvoir etre appele sur FACT et BLOC
- maCommande= getattr(self.monEditeur.jdc.cata,nomCommande)
- laListe=maCommande.entites
- return laListe
-
- #def generDicoPourWeb(self) :
- #---------------------------------
- # dico=self.monEditeur.generDicoPourWeb()
- # return dico
-
- #def getDicoObjetsPourWeb(self,obj) :
- #---------------------------------
- # dico=self.monEditeur.getDicoObjetsPourWeb(obj)
- # return dico
-
- #def getDicoObjetsCompletsPourTree(self,obj) :
- # dico=self.monEditeur.getDicoObjetsCompletsPourTree(obj)
- # return dico
-
- def getDicoForFancy(self,obj,debug=0) :
- #---------------------------------
- dico=self.monEditeur.getDicoForFancy(obj)
- if debug :
- import pprint
- pprint.pprint (dico)
- return dico
-
- #def traiteDico(self,dico):
- #---------------------------------
- # for k,v in dico.items():
- # monNode=self.monEditeur.getNodeById(k)
- # try : print ('label', monNode.getLabelText())
- # except : print ('monNode', monNode) # non operationnel pour jdc
- # try : print ('validite :', monNode.isValid())
- # except : pass # non operationnel pour jdc
- # if type(v) is OrderedDict : self.traiteDico(v)
- # else : print ('valeur :', v)
-
- def changeValeur(self,id,valeur) :
- #---------------------------------
- """
- id : identifiant unique
- valeur : valeur saisie dans le formulaire
- doit-on mettre l ancienne valeur en retour qui serait utile si validité = Non
- """
- monNode=self.monEditeur.getNodeById(id)
- #print (' change Valeur', monNode)
- #(idUnique, commentaire, validite)=monNode.fauxNoeudGraphique.traiteValeurSaisie(valeur)
- #print ('retour ChangeValeur',idUnique, commentaire, validite )
- return monNode.fauxNoeudGraphique.traiteValeurSaisie(valeur)
-
- def updateSDName(self,id,sdnom) :
- #---------------------------------
- monNode=self.monEditeur.getNodeById(id)
- return monNode.fauxNoeudGraphique.updateSDName(sdnom)
-
- def suppNode(self,id):
- #-------------------
-
- monNode=self.monEditeur.getNodeById(id)
- print ('monNode', monNode)
- retour=monNode.fauxNoeudGraphique.delete()
- return retour
-
- def appendChild(self,id,name,pos=None):
- #-------------------------------------
- """
- Methode pour ajouter un objet fils name a l objet associe au noeud id.
- On peut l'ajouter en debut de liste (pos='first'), en fin (pos='last')
- ou en position pos_ieme de la liste.
- retour = nouvelIdUnique ou None
- """
- monNode=self.monEditeur.getNodeById(id)
- if monNode.fauxNoeudGraphique == None :
- print ('PNPN pas de noeud Graphique associe a l id')
- return
- if debug : print (monNode.fauxNoeudGraphique)
- retour = monNode.fauxNoeudGraphique.appendChild(name,pos)
- return retour
-
- def saveFile(self,fileName):
- #----------------------------
- """
- sauve le .comm dans fileName (si fileName = None,
- alors la sauvegarde est faite dans le fichier courant)
- retour = True/False et le nom du fichier sauvegarde
- """
- return self.monEditeur.saveFile(fileName)
-
-
-if __name__ == "__main__":
- import prefs
- name='prefs_'+prefs.code
- __import__(name)
- code=prefs.code
- monEficasConnecteur=accasConnecteur(code, langue='ang')
-
- testAjoutSuppProc=0
- if testAjoutSuppProc :
- monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Procs.comm')
- idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
- r=monEficasConnecteur.appendChild(idRacine,'MonProc',0)
- print ('ajout de MonProc en postion 0', r)
- r=monEficasConnecteur.appendChild(idRacine,'MonProc2',1)
- print ('ajout de MonProc2 en postion 1', r)
- r=monEficasConnecteur.appendChild(idRacine,'MonProc2','last')
- print ('ajout de MonProc2 en postion last', r)
- r=monEficasConnecteur.appendChild(idRacine,'MonProc2','first')
- print ('ajout de MonProc2 en postion first', r)
- r=monEficasConnecteur.appendChild(idRacine,'MonProc2',)
- print ('ajout de MonProc2 sans poistion ne fonctionne pas', r)
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- etape2=d['children'][0]['key']
- print ('je detruis' ,etape2)
- r=monEficasConnecteur.suppNode(etape2)
- print (r)
- monProc2=d['children'][0]['key']
- r=monEficasConnecteur.appendChild(monProc2,'Fact2')
- (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutProc.comm')
-
- testAjoutSuppFact2=0
- if testAjoutSuppFact2 :
- monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Procs.comm')
- idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
- r=monEficasConnecteur.appendChild(idRacine,'MonProc2','last')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- monProc2=d['children'][2]['key']
- r=monEficasConnecteur.appendChild(monProc2,'Fact2')
- #print (r)
- (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutFact2.comm')
-
- testAjoutSuppFact=0
- if testAjoutSuppFact :
- monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Fact.comm')
- idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- monProc2=d['children'][0]['key']
- print ('id monProc2 : ', monProc2)
- #r=monEficasConnecteur.appendChild(monProc2,'Fact2')
- #print ('ajout de Fact2 dans monProc2 reussi', r)
- #r=monEficasConnecteur.appendChild(monProc2,'Fact2')
- #print ('ajout de Fact2 dans monProc2 inadequat', r)
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- fact11=d['children'][0]['children'][2]['key']
- fact12=d['children'][0]['children'][3]['key']
- fact13=d['children'][0]['children'][4]['key']
- fact14=d['children'][0]['children'][5]['key']
- pprint.pprint(d)
- #print (d)
- #monFact2=d['children'][0]['children'][3]['key']
- #print (monFact2)
- #r=monEficasConnecteur.suppNode(monFact2)
- #print (r)
- #fact11=d['children'][0]['children'][2]['key']
- #monNode=monEficasConnecteur.monEditeur.getNodeById(fact11)
- #print ('monNode', monNode)
- r=monEficasConnecteur.suppNode(fact11)
- r=monEficasConnecteur.suppNode(fact12)
- r=monEficasConnecteur.suppNode(fact13)
- print ('________________________________________________')
- print ('________________________________________________')
- print ('________________________________________________')
- print ('________________________________________________')
- print ('________________________________________________')
- r=monEficasConnecteur.suppNode(fact14)
- print (r)
- #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
- #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
- #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
- #r=monEficasConnecteur.appendChild(monProc2,'Fact2')
- #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
- #print (d)
- #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- #pprint.pprint(d)
- #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
- #print (r)
- #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- #fact12=d['children'][0]['children'][3]['key']
- #print(d['children'][0]['children'][3]['title'])
- #r=monEficasConnecteur.appendChild(fact12,'paramInFact1')
- #fact1=d['children'][0]['children'][2]
- #print (fact1)
- #fact11=d['children'][0]['children'][2]['key']
- #print (fact11)
- #print ('******************************************************')
- #r=monEficasConnecteur.suppNode(fact11)
- #r=monEficasConnecteur.appendChild(fact11,'paramInFact1')
- #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- #paramInFact12=d['children'][0]['children'][2]['children'][0]['key']
- #r=monEficasConnecteur.suppNode(paramInFact12)
- #print (r)
- (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutFact.comm')
- exit()
-
- testChangeValeur=0
- if testChangeValeur :
- monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Fact.comm')
- idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
- print ('idRacine', idRacine)
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- #pprint.pprint(d)
-
- monProc=d['children'][0]['key']
- print ('monProc', monProc)
- param1=d['children'][0]['children'][0]['key']
- print ('param1', param1)
- r=monEficasConnecteur.changeValeur(param1,'65')
- param12=d['children'][0]['children'][1]['key']
- print ('param12', param12)
- r=monEficasConnecteur.changeValeur(param12,'9')
- r=monEficasConnecteur.appendChild(monProc,'param11')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- param11=d['children'][0]['children'][1]['key']
- print ('param11', param11)
- r=monEficasConnecteur.changeValeur(param11,'11')
-
- print ('______________ creation du bloc _____________________')
- r=monEficasConnecteur.changeValeur(param1,'2')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- #pprint.pprint(d)
- param1_inBloc=d['children'][0]['children'][3]['key']
- # on supprime le bloc
- r=monEficasConnecteur.changeValeur(param1_inBloc,'1')
- # on le rajoute (pb du bloc dans le bloc)
- r=monEficasConnecteur.changeValeur(param1_inBloc,'2')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- param1_inBlocDeBloc=d['children'][0]['children'][4]['key']
- r=monEficasConnecteur.changeValeur(param1_inBlocDeBloc,'2')
- print ('______________ creation du bloc _____________________')
- param2_inBloc=d['children'][0]['children'][6]['key']
- r=monEficasConnecteur.changeValeur(param1_inBlocDeBloc,'2')
- (ok,newFile)=monEficasConnecteur.saveFile('/tmp/changeValeur.comm')
- exit()
-
- # creation du bloc
- #r=monEficasConnecteur.changeValeur(i,'2')
- #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- #(ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutProcEtBloc.comm')
- #pprint.pprint(d)
-
- # suppression du bloc
- #r=monEficasConnecteur.changeValeur(i,'1')
- #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- #(ok,newFile)=monEficasConnecteur.saveFile('/tmp/suppressionBloc.comm')
- #pprint.pprint(d)
-
- # ajout du Fact2
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- e=d['children'][2]['key']
- r=monEficasConnecteur.appendChild(e,'Fact2')
- (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutFact2.comm')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- mf=d['children'][2]['children'][4]['key']
- print (mf)
- r=monEficasConnecteur.appendChild(mf,'paramFacultatif')
- (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutFacultatif.comm')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- mf=d['children'][2]['children'][4]['children'][1]['key']
- r=monEficasConnecteur.suppNode(mf)
- print (r)
- (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutFacultatifEtSuppresse.comm')
- # essai enlever un mot clef qu on ne peut pas enlever
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- mf=d['children'][2]['children'][1]['key']
- r=monEficasConnecteur.suppNode(mf)
- print (r)
- #(ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutPuisSuppresFact2.comm')
- #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- #pprint.pprint(d)
- #print ('_________', r)
-
- testPropageValide = 0
- if testPropageValide :
- monEficasConnecteur.litFichierComm('propageValide.comm')
- idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
- #r=monEficasConnecteur.appendChild(idRacine,'MonProc',0)
- #print ('ajout de MonProc en position 0', r)
- #r=monEficasConnecteur.appendChild(idRacine,'MonProc2','last')
- r=monEficasConnecteur.appendChild(idRacine,'MonProc','last')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- param1PLast = d['children'][1]['children'][0]['key']
- r=monEficasConnecteur.changeValeur(param1PLast,'1')
- (ok,newFile)=monEficasConnecteur.saveFile('/tmp/propageValide.comm')
- print ('ajout de MonProc2 en postion last', r)
-
- testUpdateInfo = 0
- if testUpdateInfo :
- print ('________________________ testUpdateInfo ___________________________')
- monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Fact.comm')
- idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
- print ('idRacine', idRacine)
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- badMonProc2 = d['children'][0]['children'][0]['key']
- r=monEficasConnecteur.appendChild(badMonProc2,'Fact1')
- monProc2 = d['children'][0]['key']
- #print ('idProc2', monProc2)
- #print (d)
- r=monEficasConnecteur.appendChild(monProc2,'Fact1')
- r=monEficasConnecteur.appendChild(monProc2,'Fact1')
- r=monEficasConnecteur.appendChild(monProc2,'Fact1')
- r=monEficasConnecteur.appendChild(monProc2,'Fact1')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- print (['children'][0])
-
- testAjoutSimpListe=0
- if testAjoutSimpListe :
- monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Procs.comm')
- idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
- r=monEficasConnecteur.appendChild(idRacine,'MonProc2','last')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- monProc2=d['children'][2]['key']
-
- testNommeProc=1
- if testNommeProc :
- monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Procs.comm')
- idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
- r=monEficasConnecteur.appendChild(idRacine,'MonOper','last')
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- monOper=d['children'][2]['key']
- bOk, message = monEficasConnecteur.updateSDName(monOper,'toto')
- print ('in testNommeProc, bOk, message', bOk, message)
- d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- monParam=d['children'][2]['children'][0]['key']
- r=monEficasConnecteur.changeValeur(monParam,'65')
- bOk, message = monEficasConnecteur.updateSDName(monOper,'toto')
- print ('in testNommeProc, bOk, message', bOk, message)
-
- #print ( '\n Fichier /home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_2Procs.comm')
- #monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Procs.comm')
- #pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine))
-
- #print ( '\n Fichier /home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_Bloc.comm')
- #monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_Bloc.comm')
- #print (monEficasConnecteur.generDicoPourWeb())
- #print (monEficasConnecteur.getDicoObjetsPourWeb(monEficasConnecteur.monEditeur.tree.racine))
- #pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine))
- #print ('\n')
-
- #print ( '\n Fichier /home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_2Fact.comm')
- #monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Fact.comm')
- #print (monEficasConnecteur.generDicoPourWeb())
- #monDicoAAfficher = (monEficasConnecteur.getDicoObjetsPourWeb(monEficasConnecteur.monEditeur.tree.racine))
- #monEficasConnecteur.traiteDico(monDicoAAfficher)
- #pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine))
-
- #print ('/home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_Fact.comm')
- #monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_Fact.comm')
- #print (monEficasConnecteur.generDicoPourWeb())
- #pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine))
- #print ('\n')
-