]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
partage eric
authorPASCALE NOYRET <pascale.noyret@edf.fr>
Wed, 25 May 2022 12:44:24 +0000 (14:44 +0200)
committerPASCALE NOYRET <pascale.noyret@edf.fr>
Wed, 25 May 2022 12:44:24 +0000 (14:44 +0200)
Editeur/session.py
InterfaceQT4/editorSsIhm.py
InterfaceQT4/eficas_go.py
InterfaceQT4/readercata.py

index 941904aa014f67c5ef95efbdbba960e33f58ef3d..98512e478e04e88dd0abc197f285956851b407b3 100644 (file)
@@ -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
index 8746dbd2032029dbf32131d51a74afdc8b5a8df2..5bcaa21cc2f0ada87d147eb83a5d29bca7dc4672 100755 (executable)
@@ -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
 
index 3c82b02d460c86904c941bad33fcd44551f1da2a..891b57d86f0ee2ecf969821c2769104af70d48a0 100755 (executable)
@@ -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):
 #-------------------------------
index 4a2a56a698a1d1e8d253aba9b774a54ed2d59e10..61c6fa6e855e5a0dda0e20d97d21d4a9d8ce6b32 100644 (file)
@@ -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)