Salome HOME
maj du 25O4
authorpascale.noyret <pascale.noyret@edf.fr>
Thu, 25 Apr 2019 16:48:35 +0000 (18:48 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Thu, 25 Apr 2019 16:48:35 +0000 (18:48 +0200)
12 files changed:
Efi2Xsd/AccasXsd.py
Extensions/localisation.py
Ihm/I_JDC.py
InterfaceQT4/editor.py
InterfaceQT4/editorSsIhm.py
InterfaceQT4/readercata.py
InterfaceQT4/viewManager.py
InterfaceQT4/viewManagerSsIhm.py
Noyau/N_BLOC.py
generator/Formatage.py
generator/generator_XML.py
generator/generator_python.py

index 78010db9b44a55fee794d9852ec7c2906317167d..9be8b2a5ad8125c5cfd4f543c69bee44bda31f00 100755 (executable)
@@ -99,7 +99,6 @@ class X_definitionComposee (X_definition):
 
    def dumpXsd(self, inExtension=False):
        #print ('------------------------------------------------')
-       #print ('dumpXsd de ' , self.nom)
        if PourTraduction  : print (self.nom)
  
        self.getCode()
@@ -218,6 +217,8 @@ class X_SIMP (X_definition):
        self.aCreer = True
        self.texteComplexe = ""
        self.texteSimple   = ""
+       self.texteElt      = ""
+       if self.nom =='Consigne' : return
 
        #  --> homonymie on peut utiliser genealogie ?
        self.nomDuTypeDeBase = self.traduitType()
@@ -253,6 +254,8 @@ class X_SIMP (X_definition):
           if self.val_max != float('inf') and self.val_max != '**' : self.texteSimple +="\t\t\t\t"+ maxInclusiveBorne.format(self.val_max) 
           if self.into != None:
              for val in self.into : self.texteSimple += "\t\t\t\t"+enumeration.format(val)
+             if PourTraduction  : 
+                for val in self.into : print (str(val))
           self.texteSimple  += fermeBalisesMileu
           if  self.max !=1 and self.max != '**' and self.max !=  float('inf') : self.texteSimple  += maxLengthTypeSimple.format(self.max)
           if  self.min !=1 and self.min !=  float('-inf') : self.texteSimple  += minLengthTypeSimple.format(self.min) 
@@ -264,6 +267,8 @@ class X_SIMP (X_definition):
          if self.val_max != float('inf') and self.val_max != '**' : self.texteSimple += maxInclusiveBorne.format(self.val_max) 
          if self.into != None:
             for val in self.into : self.texteSimple += enumeration.format(val)
+            if PourTraduction  : 
+                for val in self.into : print (str(val))
          self.texteSimple  += fermeRestrictionBase
        self.texteSimple  += fermeSimpleType
 
@@ -340,7 +345,7 @@ class X_JDC_CATA :
         self.texteXSD += self.texteCata
         self.texteXSD += self.texteElt
         self.texteXSD += texteFin
-        print (self.texteXSD)
+        if not PourTraduction : print (self.texteXSD)
         dico = {}
         for  k in list(cata.dictTypesXSD.keys()):
              if len(cata.dictTypesXSD[k]) > 1:
@@ -352,8 +357,8 @@ class X_JDC_CATA :
                     else :          dico[k][nom]=k+str(index)
                     index=index+1
   
-        #import pprint
-        #pprint.pprint(dico)
+        import pprint
+        if (not PourTraduction) and  (dico != {}) : pprint.pprint(dico)
 
    
     def dumpDifferenceModuleMetier(self):
@@ -388,4 +393,4 @@ class X_JDC_CATA :
         #print (self.texteSimple)
         #print (self.texteElt)
         self.texteXSD = self.texteCata+'\n'+self.texteSimple+'\n'+self.texteElt+'\n'+texteFin+'\n'
-        print (self.texteXSD)
+        if not PourTraduction  : print (self.texteXSD)
index 5ea45541fd45b6414ffe29ffd06d9411789ca661..c96aa000aa24ab9fb493fc99351d004892f25253 100644 (file)
@@ -22,14 +22,23 @@ from __future__ import absolute_import
 from __future__ import print_function
 import os
 
-from PyQt5.QtCore import QTranslator
+try :
+  from PyQt5.QtCore import QTranslator
+  code_translator = QTranslator()
+  eficas_translator = QTranslator()
+except :
+  code_translator = None
+  eficas_translator = None
+  print ('pas d import de qt, pas de traduction')
+  
 
-code_translator = QTranslator()
-eficas_translator = QTranslator()
 
 def localise(application, locale=None,file=None,translatorFichier=None, debug=False ):
     """
     """
+    if code_translator == None : 
+       print ('qt not avalaible, no translation')
+       return
     from PyQt5.QtCore import QLibraryInfo
     from PyQt5.QtCore import QLocale
     from PyQt5.QtWidgets import QApplication
index c2153bfa8b74f174c9902fd9a7d69f37b581e9ef..0d4887fdccd32e3f6a13d9e0c71e5548730a7708 100644 (file)
@@ -545,7 +545,7 @@ class JDC(I_OBJECT.OBJECT):
           e.updateContext(context)
 
    def analyse(self):
-      if self.editor.format == 'xml' :
+      if self.editor.format_in == 'xml' :
          # il ne faut pas le faire quand le jeu de donnees est vide
          self.setCurrentContext()
          self.analyseFromXML()
index f7babdf89cbe119c026411534a031daafa2e05cf..4a20e4a613f0bd314adc5f66f10ebd90cf1d968a 100755 (executable)
@@ -106,6 +106,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget):
         self.version_code = session.d_env.cata
      
         self.format =  self.appliEficas.format_fichier
+        self.format_in =  self.appliEficas.format_fichier_in
 
         self.node_selected = []
         self.deplier = True
@@ -682,7 +683,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget):
       if QFileInfo(fn).exists():
            msgBox = QMessageBox(self)
            msgBox.setWindowTitle(tr("Sauvegarde du Fichier"))
-           msgBox.setText(tr("Le fichier <b>%s</b> existe deja.", six.text_type(fn)))
+           msgBox.setText(tr("Le fichier")+ "  "+str(fn)+ "  " +tr("existe deja"))
            msgBox.addButton(tr("&Ecraser"),0)
            msgBox.addButton(tr("&Abandonner"),1)
            abort=msgBox.exec_()
@@ -849,6 +850,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget):
 
         print ('sortie du XML')
         print('|',self.fichier,'|')
+        print (self.jdc.cata.modeleMetier)
         if  self.jdc.cata.modeleMetier : self.jdc.toXml(self.fichier)
 
         print (self.generator)
index d842aab69af815bece2d5c1593a1d7e4bdfbf233..7a2d4be485e65165f1604f4676fafb2a85160dc4 100755 (executable)
@@ -93,7 +93,8 @@ class JDCEditorSsIhm :
         if self.readercata.fic_cata == None : return    #Sortie Salome
         self.titre=self.readercata.titre
 
-        self.format =  self.appliEficas.format_fichier
+        self.format    =  self.appliEficas.format_fichier
+        self.format_in =  self.appliEficas.format_fichier_in
 
         if self.appliEficas.maConfiguration.dumpXSD==True : self.appliEficas.dumpXsd()
         self.dict_reels={}
index ee4760713745c22b0055d0e5efdc2983baf312a8..2830d613a9034ca516e3b7d24d6b9b02332e7747 100644 (file)
@@ -94,7 +94,6 @@ class ReaderCataCommun(object):
    # ____________________
 
  
-
       liste_cata_possibles=[]
       self.Commandes_Ordre_Catalogue=[]
 
index de4499c025617176ba7e5213ee4708eb1da15af6..3d6f7d6ba6cadcf98574aeafc9614213f050f8d3 100644 (file)
@@ -339,7 +339,7 @@ class MyViewManager(object):
 #PNPNPNPN --> a affiner
         if fichier is None:
             self.untitledCount += 1
-            self.myQtab.addTab(win, tr("Fichier non encore nomme  " + self.appliEficas.readercata.versionCode, self.untitledCount))
+            self.myQtab.addTab(win, tr("Fichier non encore nomme") +  str(self.untitledCount))
             #self.myQtab.addTab(win, str(self.appliEficas.code))
         else:
             liste=fichier.split('/')
index c04e2b0f65b86c320fed9f0e9eca7b6147692e67..82eba4c8c808e4b23bf44605ab2a3a70db783a1b 100644 (file)
@@ -342,7 +342,6 @@ class MyViewManagerSsIhm(object):
 #        titre=None
 #        if fn != None : titre=fn.split("/")[-1]
 #        editor = self.getEditor(fichier= fn, jdc = jdc ,include=1)
-#        self.appliEficas.addToRecentList(editor.getFileName())
 #
 
 ##PNPNPNPN --> a affiner
index dba5f82ba3131aedd9ed568fe7e058f26d388ae6..a8f657e18dabe42f0e5e9ebfdd71306ca516b965 100644 (file)
@@ -79,6 +79,7 @@ class BLOC(N_ENTITE.ENTITE):
         self.condition = condition
         self.entites = args
         self.affecter_parente()
+        self.txtNomComplet = ''
 
     def __call__(self, val, nom, parent=None, dicoPyxbDeConstruction=None):
         """
index aa4dbe296f4d66d91400106350389a3ea02fca12..eb57e461464aec44482d21ad27a186c457124e81 100644 (file)
@@ -223,10 +223,8 @@ class Formatage (object):
           self.texte_etape = self.texte_etape + ('\n'+self.indent_courant*' ')*ind +s_mcsimp.strip()
       else :
           # il faut couper ...
-          #nom,valeur = string.split(s_mcsimp,self.sep,1)
           nom,valeur = str.split(s_mcsimp,self.sep,1)
           chaine = self.creerChaine(nom,valeur,'\n'+self.indent_courant*' ',ind)
-          #self.jdc_fini = self.jdc_fini + ('\n'+self.indent_courant*' ')*ind + s_mcsimp.strip()
           self.texte_etape = self.texte_etape + chaine
       return
 
@@ -259,11 +257,11 @@ class Formatage (object):
         # il s'agit d'une vraie chaîne de caractères
         val = len(valeur)
         texte = (self.l_max-2-val)*' '+valeur
-        s=s+'\n'+texte
+        s=s+'\\\n'+texte
       elif re.match(filePattern,valeur) or re.match(filePattern2,valeur):
         val = len(valeur)
         texte = (self.l_max-2-val)*' '+valeur
-        s=s+'\n'+texte
+        s=s+'\\\n'+texte
       elif ',' in valeur:
         # il s'agit d'une liste de tuple
         # c est trop complique on ne splitte pas
@@ -294,10 +292,13 @@ class Formatage (object):
 
       else :
         # On a une ( mais pas de , . On passe la chaine sans modification
-        val = len(valeur)
+        val = len(valeur) +len(label)
         texte = (self.l_max-2-val)*' '+valeur
-        s=s+'\n'+texte
-
+        s='\n'+s+texte
+    else : 
+      label = nom + self.sep
+      val = len(valeur) +len(label)
+      s = '\n'+(self.l_max-2-val)*' '+label+valeur
     return s
 
 class FormatageLigne(Formatage) :
index 4fc98f10134b13ab0b113f8c4dad6d5435abd23f..1afd5463f37813a83eab7070b2ecb64a3bc6bca0 100644 (file)
@@ -76,11 +76,11 @@ class XMLGenerator(PythonGenerator):
 #----------------------------------------------------------------------------------------
 
    def writeDefault(self,fn) :
-       #fileDico = fn[:fn.rfind(".")] + '.py'
-       fileDico='/tmp/toto.xml'
+       fileXML = fn[:fn.rfind(".")] + '.xml'
+       #fileDico='/tmp/toto.xml'
        print (self.texteXML)
-       f = open( str(fileDico), 'w')
-       f.write('Dico = '+str(self.texteXML))
+       f = open( str(fileXML), 'w')
+       f.write(str(self.texteXML))
        f.close()
 
 
index 479c472a91678836e63ffed1056b62ff33432610..7a41cd62a8d1df121f5e707c8814ed86e0f2856c 100644 (file)
@@ -157,6 +157,8 @@ class PythonGenerator(object):
          return self.generMCBLOC(obj)
       elif isinstance(obj,Accas.MCSIMP):
          return self.generMCSIMP(obj)
+      elif isinstance(obj,Accas.UserASSD):
+         return self.generUserASSD(obj)
       elif isinstance(obj,Accas.ASSD):
          return self.generASSD(obj)
       elif isinstance(obj,Accas.ETAPE_NIVEAU):
@@ -424,6 +426,9 @@ class PythonGenerator(object):
       """
       return obj.getName()
 
+   def generUserASSD(self,obj):
+      return "'"+ obj.getName()+ "'"
+
    def generMCFACT(self,obj):
       """
           Convertit un objet MCFACT en une liste de chaines de caracteres a la
@@ -587,8 +592,8 @@ class PythonGenerator(object):
 
 
    def formatColonnes(self,nbrColonnes,listeValeurs,obj):
-      #try :
-      if 1 == 1 :
+      try :
+      #if 1 == 1 :
         indice=0
         textformat="("
         while ( indice < len(listeValeurs) ) :
@@ -607,7 +612,7 @@ class PythonGenerator(object):
                 indice=indice+1
             textformat=textformat+"\n"
         textformat=textformat[0:-1]+"),\n"
-      #except :
-      else :
+      except :
+      #else :
          textformat=str(obj.valeur)
       return textformat