From 9183b4aa1e8eb1285fb7af355a776c0d19271af3 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Thu, 25 Apr 2019 18:48:35 +0200 Subject: [PATCH] maj du 25O4 --- Efi2Xsd/AccasXsd.py | 15 ++++++++++----- Extensions/localisation.py | 15 ++++++++++++--- Ihm/I_JDC.py | 2 +- InterfaceQT4/editor.py | 4 +++- InterfaceQT4/editorSsIhm.py | 3 ++- InterfaceQT4/readercata.py | 1 - InterfaceQT4/viewManager.py | 2 +- InterfaceQT4/viewManagerSsIhm.py | 1 - Noyau/N_BLOC.py | 1 + generator/Formatage.py | 15 ++++++++------- generator/generator_XML.py | 8 ++++---- generator/generator_python.py | 13 +++++++++---- 12 files changed, 51 insertions(+), 29 deletions(-) diff --git a/Efi2Xsd/AccasXsd.py b/Efi2Xsd/AccasXsd.py index 78010db9..9be8b2a5 100755 --- a/Efi2Xsd/AccasXsd.py +++ b/Efi2Xsd/AccasXsd.py @@ -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) diff --git a/Extensions/localisation.py b/Extensions/localisation.py index 5ea45541..c96aa000 100644 --- a/Extensions/localisation.py +++ b/Extensions/localisation.py @@ -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 diff --git a/Ihm/I_JDC.py b/Ihm/I_JDC.py index c2153bfa..0d4887fd 100644 --- a/Ihm/I_JDC.py +++ b/Ihm/I_JDC.py @@ -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() diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index f7babdf8..4a20e4a6 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -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 %s 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) diff --git a/InterfaceQT4/editorSsIhm.py b/InterfaceQT4/editorSsIhm.py index d842aab6..7a2d4be4 100755 --- a/InterfaceQT4/editorSsIhm.py +++ b/InterfaceQT4/editorSsIhm.py @@ -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={} diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index ee476071..2830d613 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -94,7 +94,6 @@ class ReaderCataCommun(object): # ____________________ - liste_cata_possibles=[] self.Commandes_Ordre_Catalogue=[] diff --git a/InterfaceQT4/viewManager.py b/InterfaceQT4/viewManager.py index de4499c0..3d6f7d6b 100644 --- a/InterfaceQT4/viewManager.py +++ b/InterfaceQT4/viewManager.py @@ -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('/') diff --git a/InterfaceQT4/viewManagerSsIhm.py b/InterfaceQT4/viewManagerSsIhm.py index c04e2b0f..82eba4c8 100644 --- a/InterfaceQT4/viewManagerSsIhm.py +++ b/InterfaceQT4/viewManagerSsIhm.py @@ -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 diff --git a/Noyau/N_BLOC.py b/Noyau/N_BLOC.py index dba5f82b..a8f657e1 100644 --- a/Noyau/N_BLOC.py +++ b/Noyau/N_BLOC.py @@ -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): """ diff --git a/generator/Formatage.py b/generator/Formatage.py index aa4dbe29..eb57e461 100644 --- a/generator/Formatage.py +++ b/generator/Formatage.py @@ -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) : diff --git a/generator/generator_XML.py b/generator/generator_XML.py index 4fc98f10..1afd5463 100644 --- a/generator/generator_XML.py +++ b/generator/generator_XML.py @@ -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() diff --git a/generator/generator_python.py b/generator/generator_python.py index 479c472a..7a41cd62 100644 --- a/generator/generator_python.py +++ b/generator/generator_python.py @@ -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 -- 2.39.2