From: PASCALE NOYRET Date: Wed, 25 May 2022 12:44:24 +0000 (+0200) Subject: partage eric X-Git-Tag: merge_uncertainty_odysee_1210~89 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=3dadde295aada5fa03775cef1a4c86c840df3262;p=tools%2Feficas.git partage eric --- diff --git a/Editeur/session.py b/Editeur/session.py index 941904aa..98512e47 100644 --- a/Editeur/session.py +++ b/Editeur/session.py @@ -296,6 +296,7 @@ def createparser(): def parse(args): parser=createparser() + commande=args[0] (options,args)=parser.parse_args(args[1:]) if not hasattr(options,"studies"): options.studies=[] @@ -316,20 +317,21 @@ def parse(args): options.studies.append({"comm":file}) #print options.studies elif len(args)==1 and (re.search('.comm',file) or re.search('.map',file) or re.search('.cas',file) or re.search('.xml',file)): - try : - f=open(file,'w') - f.close() - except : - parser.error(tr("Nombre incorrect d'arguments")) - options.comm.append(file) - options.studies.append({"comm":file}) + if commande.find('qtEficas') > -1 : + try : + f=open(file,'w') + f.close() + except : + parser.error(tr("Impossible de creer le fichier")) + options.comm.append(file) + options.studies.append({"comm":file}) elif len(args) == 2 : if options.locale: print((tr("Localisation specifiee pour l'application."))) else: parser.error(tr("Nombre incorrect d'arguments")) else: - parser.error(tr("Nombre incorrect d'arguments")) + parser.error(tr("Nom de fichier incorrect")) global d_env d_env=options diff --git a/InterfaceQT4/editorSsIhm.py b/InterfaceQT4/editorSsIhm.py index 8746dbd2..5bcaa21c 100755 --- a/InterfaceQT4/editorSsIhm.py +++ b/InterfaceQT4/editorSsIhm.py @@ -87,6 +87,8 @@ class JDCEditorSsIhm : else : self.readercata=self.appliEficas.readercata if self.readercata.fichierCata == None : return #Sortie Salome + if self.readercata.cata == None : return #Sortie Salome + if self.readercata.cata == 0 : return #Sortie Salome self.titre=self.readercata.titre self.formatFichierOut = self.appliEficas.formatFichierOut @@ -254,6 +256,7 @@ class JDCEditorSsIhm : if hasattr(self.readercata.cata,'TEXTE_NEW_JDC') : texte=self.readercata.cata.TEXTE_NEW_JDC + print (self.readercata.cata) jdc=self.readercata.cata.JdC( procedure =texte, appliEficas=self.appliEficas, cata=self.readercata.cata, @@ -858,6 +861,7 @@ class JDCEditorSsIhm : return 1 def dumpXsd(self, avecEltAbstrait = False): #-----------------------------------------# + if not self.readercata.cata : return texteXSD = self.readercata.cata.JdC.dumpXsd(avecEltAbstrait) return texteXSD diff --git a/InterfaceQT4/eficas_go.py b/InterfaceQT4/eficas_go.py index 3c82b02d..891b57d8 100755 --- a/InterfaceQT4/eficas_go.py +++ b/InterfaceQT4/eficas_go.py @@ -36,11 +36,11 @@ if ihmDir not in sys.path : sys.path.append(ihmDir) if ihmQTDir not in sys.path : sys.path.append(ihmQTDir) if editeurDir not in sys.path : sys.path.append(editeurDir) -# if sys.version_info[0] < 3: +if sys.version_info[0] < 3: # print('----------- sys.executable : ',sys.executable,' --------------') -EFICAS_PYTHON_VERSION_MIN=30600 -if sys.version_info[0]*10000+sys.version_info[1]*100 < EFICAS_PYTHON_VERSION_MIN: - print("Must be using at least Python 3.6") +#EFICAS_PYTHON_VERSION_MIN=30500 +#if sys.version_info[0]*10000+sys.version_info[1]*100 < EFICAS_PYTHON_VERSION_MIN: + print("Must be using at least Python 3") sys.exit() def lanceEficas(code=None, multi=False, langue='en', labelCode=None): @@ -90,20 +90,20 @@ def genereXSD(code=None): if code != None : options.code = code if options.fichierCata == None : print ('Use -c cata_name.py') - return + return 0 monEficasSsIhm = getEficasSsIhm(code=options.code,genereXSD=True) monEditor=monEficasSsIhm.getEditor() #texteXSD=monEficasSsIhm.dumpXsd(avecEltAbstrait=options.avecEltAbstrait) texteXSD=monEditor.dumpXsd(avecEltAbstrait=options.avecEltAbstrait) + if not (texteXSD) : return 0 fichierCataTrunc=os.path.splitext(os.path.basename(options.fichierCata))[0] - #if fichierCataTrunc[0:4] in ('cata','Cata'): fichierCataTrunc=fichierCataTrunc[4:] - #if fichierCataTrunc[0] in ('_','-') : fichierCataTrunc=fichierCataTrunc[1:] fileXSD = fichierCataTrunc + '.xsd' - f = open( str(fileXSD), 'w') f.write(str(texteXSD)) + return 1 + def genereXML(code=None): #----------------------- @@ -112,12 +112,12 @@ def genereXML(code=None): if code != None : options.code = code if options.fichierCata == None : print ('Use -c cata_name.py') - return + return 0 try : fichier=options.comm[0] except : fichier=None if fichier==None : print ('comm file is needed') - return + return 0 from .editorSsIhm import JDCEditorSsIhm if options.fichierOut == None : fichierXMLOut=fichier[:fichier.rfind(".")]+'.xml' @@ -125,12 +125,14 @@ def genereXML(code=None): monEficasSsIhm = getEficasSsIhm(code=options.code, forceXML=True) monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier) - if not(monEditeur.jdc.isValid()): + if not(monEditeur.readercata.cata) : return 0 + if (not monEditeur.jdc) or not(monEditeur.jdc.isValid()): print ('Fichier comm is not valid') - return + return 0 #print ('Fichier comm is not valid') monEditeur.XMLGenerator.gener(monEditeur.jdc) monEditeur.XMLGenerator.writeDefault(fichierXMLOut) + return 1 def genereComm(code=None): #----------------------- @@ -139,12 +141,12 @@ def genereComm(code=None): if code != None : options.code = code if options.fichierCata == None : print ('Use -c cata_name.py') - return + return 0 try : fichier=options.comm[0] except : fichier=None if fichier==None : print ('xml file is needed') - return + return 0 monEficasSsIhm = getEficasSsIhm(code=options.code, forceXML=True) @@ -152,9 +154,15 @@ def genereComm(code=None): if options.fichierOut == None : fichierCommOut=fichier[:fichier.rfind(".")]+'.comm' else : fichierCommOut = options.fichierOut monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier) + if not(monEditeur.readercata.cata) : return 0 # on ne sait lire que des xml valides - monEditeur.pythonGenerator.gener(monEditeur.jdc,format = 'beautifie') + monEditeur.pythonGenerator.gener(monEditeur.jdc,format = 'beautifie' None + if monEditeur.pythonGenerator.texteXML=='erreur generation' : + print ('erreur generation') + return 0 + print (monEditeur.pythonGenerator.texteXML) monEditeur.pythonGenerator.writeFile(fichierCommOut) + return 1 def genereStructure(code=None): #------------------------------ @@ -214,17 +222,27 @@ def validateDataSet(code=None): if code != None : options.code = code if options.fichierCata == None : print ('Use -c cata_name.py') - return 1 - fichier=options.comm[0] - if fichier==None : + return 0 + + try : fichier = options.comm[0] + except : fichier =None + + if fichier==None or not (os.path.isfile(fichier)): print ('comm file is needed') - return 1 - from .editorSsIhm import JDCEditorSsIhm - monEficasSsIhm = getEficasSsIhm(code=options.code) - monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier) - if not (monEditeur.jdc.isValid()) : print (monEditeur.getJdcRapport()) - else : print ('Jdc is valid') - return monEditeur.jdc.isValid() + return 0 + + try: + from .editorSsIhm import JDCEditorSsIhm + monEficasSsIhm = getEficasSsIhm(code=options.code) + monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier) + if not (monEditeur.jdc) : print ('mauvaise construction du jdc'); return 0 + elif not (monEditeur.jdc.isValid()) : print (monEditeur.getJdcRapport()); return 0 + else : print ('Jdc is valid') + return monEditeur.jdc.isValid() + except: + print ('impossible de lire ce .comm') + return 0 + def validateFonction(laFonction, debug=False): #------------------------------- diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index 4a2a56a6..61c6fa6e 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -218,6 +218,7 @@ class ReaderCata (ReaderCataCommun): self.VERSION_EFICAS=self.appliEficas.VERSION_EFICAS self.demandeCatalogue=False self.code=self.appliEficas.code + self.titre=self.appliEficas.code self.ssCode=self.appliEficas.ssCode # on positionne par defaut mais est-ce vraiment necessaire self.appliEficas.formatFichierIn='python' @@ -240,6 +241,7 @@ class ReaderCata (ReaderCataCommun): if self.fichierCata == None : self.choisitCata() self.cata = self.importCata(self.fichierCata) + if not self.cata : return if self.code == 'NonConnu' : self.code = self.cata.JdC.code modeleMetier = None self.cata.fileModeleMetier = None @@ -379,8 +381,8 @@ class ReaderCata (ReaderCataCommun): return o except Exception as e: self.QWParent.informe('catalog', 'unable to load catalog file') - import traceback - traceback.print_exc() + #import traceback + #traceback.print_exc() return 0 @@ -424,6 +426,7 @@ class ReaderCata (ReaderCataCommun): def creeDicoInverse(self): self.dicoInverse={} self.dicoMC={} + if not self.cata : return listeEtapes=self.cata.JdC.commandes for e in self.cata.JdC.commandes: self.traiteEntite(e)