def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
- #print "Feuille", monSimpDef,nom,objSimp
+ #print ("Feuille", monSimpDef,nom,objSimp)
QWidget.__init__(self,None)
self.node=node
self.node.fenetre=self
<x>0</x>
<y>0</y>
<width>949</width>
- <height>73</height>
+ <height>77</height>
</rect>
</property>
<property name="sizePolicy">
</item>
<item>
<widget class="QFrame" name="frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
</rect>
</property>
<property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<number>0</number>
</property>
<item>
- <widget class="QRadioButton" name="radioButton_2">
+ <widget class="QRadioButton" name="radioButton_1">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="radioButton_1">
+ <widget class="QRadioButton" name="radioButton_2">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
+ <enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
</item>
</layout>
<zorder>label</zorder>
- <zorder>radioButton_1</zorder>
- <zorder>radioButton_3</zorder>
- <zorder>radioButton_2</zorder>
<zorder></zorder>
</widget>
<customwidgets>
+++ /dev/null
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 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
-#
-"""
-"""
-
-import parseur_python
-from convert_python import *
-
-def entryPoint():
- """
- Retourne les informations nécessaires pour le chargeur de plugins
- Ces informations sont retournées dans un dictionnaire
- """
- return {
- # Le nom du plugin
- 'name' : 'SEP',
- # La factory pour créer une instance du plugin
- 'factory' : PythonParser,
- }
-
-
pattern_comment_slash = re.compile(r"^\s*/")
pattern_comment_slash_vide = re.compile(r"^\s*/\s*$")
+pattern_comment_tiret = re.compile(r"^\s*/-*/$")
pattern_eta = re.compile(r".*&ETA.*")
pattern_fin = re.compile(r".*&FIN.*")
pattern_oui = re.compile(r"^\s*(oui|OUI|YES|yes|TRUE|VRAI)\s*$")
if debut : debut = False
if pattern_comment_slash.match(l):
- if pattern_comment_slash_vide.match(l) : continue
- texteComment+=l.replace ('/','#',1)
+ #if pattern_comment_slash_vide.match(l) : continue
+ if pattern_comment_tiret.match(l) : continue
+ texteComment+=l.replace ('/','',1)
texteComment+='\n'
trouveComment=1
+++ /dev/null
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 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 contient le plugin convertisseur de fichier
- au format asterv5 pour EFICAS.
-
- Un plugin convertisseur doit fournir deux attributs de classe :
- extensions et formats et deux méthodes : readfile,convert.
-
- L'attribut de classe extensions est une liste d'extensions
- de fichiers préconisées pour ce type de format. Cette information
- est seulement indicative.
-
- L'attribut de classe formats est une liste de formats de sortie
- supportés par le convertisseur. Les formats possibles sont :
- eval, dict ou exec.
- Le format eval est un texte source Python qui peut etre evalué. Le
- résultat de l'évaluation est un objet Python quelconque.
- Le format dict est un dictionnaire Python.
- Le format exec est un texte source Python qui peut etre executé.
-
- La méthode readfile a pour fonction de lire un fichier dont le
- nom est passé en argument de la fonction.
- - convertisseur.readfile(nom_fichier)
-
- La méthode convert a pour fonction de convertir le fichier
- préalablement lu dans un objet du format passé en argument.
- - objet=convertisseur.convert(outformat)
-
- Ce convertisseur supporte uniquement le format de sortie exec
-
-"""
-import sys,string,traceback
-
-from Noyau import N_CR
-
-def entryPoint():
- """
- Retourne les informations nécessaires pour le chargeur de plugins
- Ces informations sont retournées dans un dictionnaire
- """
- return {
- # Le nom du plugin
- 'name' : 'asterv5',
- # La factory pour créer une instance du plugin
- 'factory' : AsterParser,
- }
-
-import Parserv5.conv
-import parseur_python
-
-class AsterParser:
- """
- """
- # Les extensions de fichier préconisées
- extensions=('.comm',)
- # Les formats de sortie supportés (eval dict ou exec)
- formats=('exec','execnoparseur')
-
- def __init__(self,cr=None):
- # Si l'objet compte-rendu n'est pas fourni, on utilise le compte-rendu standard
- if cr :
- self.cr=cr
- else:
- self.cr=N_CR.CR(debut='CR convertisseur format asterv5',
- fin='fin CR format asterv5')
- self.oldtext=''
- self.out=self.err=self.warn=''
-
- def readfile(self,filename):
- self.filename=filename
- try:
- self.text=open(filename).read()
- except:
- self.cr.fatal("Impossible ouvrir fichier %s" % filename)
- return
-
- def convert(self,outformat,appli=None):
- if outformat == 'exec':
- return self.getexec()
- elif outformat == 'execnoparseur':
- return self.getexecnoparseur()
- else:
- raise "Format de sortie : %s, non supporté"
-
- def getexec(self):
- if self.text != self.oldtext:
- self.out, self.err, self.warn= Parserv5.conv.conver(self.text)
- if self.err:
- self.cr.fatal("Erreur a l'interpretation de %s" % self.filename)
- self.cr.fatal(str(self.err))
- return self.out
- # On transforme les commentaires et les parametres en objets Python
- # avec un deuxième parseur
- try:
- self.out = parseur_python.PARSEUR_PYTHON(self.out).get_texte()
- except:
- self.cr.fatal("Erreur dans la deuxième phase d interpretation de %s" % self.filename)
- traceback.print_exc()
- return ""
- self.oldtext=self.text
- return self.out
-
- def getexecnoparseur(self):
- if self.text != self.oldtext:
- self.out, self.err, self.warn= Parserv5.conv.conver(self.text)
- if self.err:
- self.cr.fatal("Erreur a l'interpretation de %s" % self.filename)
- self.cr.fatal(str(self.err))
- return self.out
- self.oldtext=self.text
- return self.out
-
+++ /dev/null
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 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
-#
-"""
-"""
-
-import parseur_python
-from convert_python import *
-
-def entryPoint():
- """
- Retourne les informations nécessaires pour le chargeur de plugins
- Ces informations sont retournées dans un dictionnaire
- """
- return {
- # Le nom du plugin
- 'name' : 'cuve2dg',
- # La factory pour créer une instance du plugin
- 'factory' : PythonParser,
- }
-
-
+++ /dev/null
-# Copyright (C) 2007-2013 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
-#
-from convert_python import PythonParser
-
-def entryPoint():
- """
- Return a dictionary containing the description needed to load the plugin
- """
- return {'name' : 'file_from_template',
- 'factory' : PythonParser}
+++ /dev/null
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 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 contient le plugin convertisseur de fichier
- au format python pour EFICAS.
-
- Un plugin convertisseur doit fournir deux attributs de classe :
- extensions et formats et deux méthodes : readfile,convert.
-
- L'attribut de classe extensions est une liste d'extensions
- de fichiers préconisées pour ce type de format. Cette information
- est seulement indicative.
-
- L'attribut de classe formats est une liste de formats de sortie
- supportés par le convertisseur. Les formats possibles sont :
- eval, dict ou exec.
- Le format eval est un texte source Python qui peut etre evalué. Le
- résultat de l'évaluation est un objet Python quelconque.
- Le format dict est un dictionnaire Python.
- Le format exec est un texte source Python qui peut etre executé.
-
- La méthode readfile a pour fonction de lire un fichier dont le
- nom est passé en argument de la fonction.
- - convertisseur.readfile(nom_fichier)
-
- La méthode convert a pour fonction de convertir le fichier
- préalablement lu dans un objet du format passé en argument.
- - objet=convertisseur.convert(outformat)
-
- Ce convertisseur supporte le format de sortie exec
-
-"""
-import sys,string,traceback
-
-import parseur_python
-from Noyau import N_CR
-from Extensions.i18n import tr
-from Extensions.eficas_exception import EficasException
-
-def entryPoint():
- """
- Retourne les informations nécessaires pour le chargeur de plugins
- Ces informations sont retournées dans un dictionnaire
- """
- return {
- # Le nom du plugin
- 'name' : 'homard',
- # La factory pour créer une instance du plugin
- 'factory' : PythonParser,
- }
-
-
-class PythonParser:
- """
- Ce convertisseur lit un fichier au format python avec la
- methode readfile : convertisseur.readfile(nom_fichier)
- et retourne le texte au format outformat avec la
- methode convertisseur.convert(outformat)
-
- Ses caractéristiques principales sont exposées dans 2 attributs
- de classe :
- - extensions : qui donne une liste d'extensions de fichier préconisées
- - formats : qui donne une liste de formats de sortie supportés
- """
- # Les extensions de fichier préconisées
- extensions=('.py',)
- # Les formats de sortie supportés (eval dict ou exec)
- # Le format exec est du python executable (commande exec) converti avec PARSEUR_PYTHON
- # Le format execnoparseur est du python executable (commande exec) non converti
- formats=('exec','execnoparseur')
-
- def __init__(self,cr=None):
- # Si l'objet compte-rendu n'est pas fourni, on utilise le
- # compte-rendu standard
- self.text=''
- if cr :
- self.cr=cr
- else:
- self.cr=N_CR.CR(debut='CR convertisseur format python',
- fin='fin CR format python')
-
- def readfile(self,filename):
- self.filename=filename
- try:
- self.text=open(filename).read()
- except:
- self.cr.fatal(tr("Impossible d'ouvrir le fichier: %s", str(filename)))
- return
-
- def convert(self,outformat,appli=None):
- if outformat == 'exec':
- try:
- return parseur_python.PARSEUR_PYTHON(self.text).get_texte()
- except:
- # Erreur lors de la conversion
- l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],
- sys.exc_info()[2])
- self.cr.exception(tr("Impossible de convertir le fichier Python \
- qui doit contenir des erreurs.\n \
- On retourne le fichier non converti \n \
- Prevenir la maintenance. \n %s", string.join(l)))
- # On retourne neanmoins le source initial non converti (au cas ou)
- return self.text
- elif outformat == 'execnoparseur':
- return self.text
- else:
- raise EficasException(tr("Format de sortie : %s, non supporte", unicode(outformat)))
- return None
+++ /dev/null
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 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 contient le plugin convertisseur de fichier
- au format ini pour EFICAS.
- Le convertisseur supporte le format de sortie eval
-
- Le format eval est un texte Python qui peut etre
- evalué avec la commande eval de Python. Il doit donc
- etre une expression Python dont l'évaluation permet d'obtenir un objet
-
-"""
-import traceback
-
-from ConfigParser import ConfigParser
-from Noyau import N_CR
-from Extensions.i18n import tr
-from Extensions.eficas_exception import EficasException
-
-
-def entryPoint():
- """
- Retourne les informations nécessaires pour le chargeur de plugins
- Ces informations sont retournées dans un dictionnaire
- """
- return {
- # Le nom du plugin
- 'name' : 'ini',
- # La factory pour créer une instance du plugin
- 'factory' : IniParser,
- }
-
-
-class IniParser(ConfigParser):
- """
- Ce convertisseur lit un fichier au format ini avec la
- methode readfile : convertisseur.readfile(nom_fichier)
- et retourne le texte au format outformat avec la
- methode convertisseur.convert(outformat)
-
- Ses caractéristiques principales sont exposées dans 2 attributs
- de classe :
- - extensions : qui donne une liste d'extensions de fichier préconisées
- - formats : qui donne une liste de formats de sortie supportés
- """
- # Les extensions de fichier préconisées
- extensions=('.ini','.conf')
- # Les formats de sortie supportés (eval ou exec)
- formats=('eval','dict')
-
- def __init__(self,cr=None):
- ConfigParser.__init__(self)
- # Si l'objet compte-rendu n'est pas fourni, on utilise le compte-rendu standard
- if cr :
- self.cr=cr
- else:
- self.cr=N_CR.CR(debut='CR convertisseur format ini',
- fin='fin CR format ini')
-
- def readfile(self,filename):
- try:
- self.read(filename)
- except Exception as e:
- self.cr.fatal(tr("lecture du fichier impossible :")+str(e))
-
- def convert(self,outformat,appli=None):
- if outformat == 'eval':
- return self.getdicttext()
- elif outformat == 'dict':
- return self.getdict()
- else:
- raise Exception("Format de sortie : %s, non supporte", outformat)
-
-
- def getdicttext(self):
- s='{'
- for section in self.sections():
- s=s+ "'" + section + "' : {"
- options=self.options(section)
- for option in options:
- value=self.get(section,option)
- if value == '':value="None"
- s=s+"'%s' : %s," % (option, value)
- s=s+"}, "
- s=s+"}"
- return s
-
- def getdict(self):
- s={}
- for section in self.sections():
- s[section]=d={}
- options=self.options(section)
- for option in options:
- value=self.get(section,option)
- if value == '':
- d[option]=None
- else:
- d[option]=eval(value)
- return s
-
+++ /dev/null
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 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
-#
-"""
-"""
-
-import parseur_python
-from convert_python import *
-
-def entryPoint():
- """
- Retourne les informations nécessaires pour le chargeur de plugins
- Ces informations sont retournées dans un dictionnaire
- """
- return {
- # Le nom du plugin
- 'name' : 'perfect',
- # La factory pour créer une instance du plugin
- 'factory' : PythonParser,
- }
-
-
+++ /dev/null
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 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 contient le plugin convertisseur de fichier
- au format python pour EFICAS.
-
- Un plugin convertisseur doit fournir deux attributs de classe :
- extensions et formats et deux méthodes : readfile,convert.
-
- L'attribut de classe extensions est une liste d'extensions
- de fichiers préconisées pour ce type de format. Cette information
- est seulement indicative.
-
- L'attribut de classe formats est une liste de formats de sortie
- supportés par le convertisseur. Les formats possibles sont :
- eval, dict ou exec.
- Le format eval est un texte source Python qui peut etre evalué. Le
- résultat de l'évaluation est un objet Python quelconque.
- Le format dict est un dictionnaire Python.
- Le format exec est un texte source Python qui peut etre executé.
-
- La méthode readfile a pour fonction de lire un fichier dont le
- nom est passé en argument de la fonction.
- - convertisseur.readfile(nom_fichier)
-
- La méthode convert a pour fonction de convertir le fichier
- préalablement lu dans un objet du format passé en argument.
- - objet=convertisseur.convert(outformat)
-
- Ce convertisseur supporte le format de sortie exec
-
-"""
-def entryPoint():
- """
- Retourne les informations nécessaires pour le chargeur de plugins
- Ces informations sont retournées dans un dictionnaire
- """
- return {
- # Le nom du plugin
- 'name' : 'python6',
- # La factory pour créer une instance du plugin
- 'factory' : PythonParser,
- }
-
-from convert_python import PythonParser
- les affectations
- les commandes
"""
- pattern_commande = re.compile(r'^([A-Z][A-Z0-9_]+)([ \t\r\f\v]*)\(([\w\W]*)')
+ pattern_commande = re.compile(r'^([A-Z][a-zA-Z0-9_]+)([ \t\r\f\v]*)\(([\w\W]*)')
pattern_eval = re.compile(r'^(EVAL)([ \t\r\f\v]*)\(([\w\W]*)')
pattern_ligne_vide = re.compile(r'^[\t\r\f\v\n]+')
pattern_name = re.compile(r'[a-zA-Z_]\w*')
if self.is_commande(ligne):
# --> nouvelle commande
- #print ('nouvelle commande')
affectation_courante = None
commande_courante = COMMANDE(self)
commande_courante.append_text(ligne)
try :
from enumDicoTelemac import TelemacdicoEn
DicoEnumCasEnInverse={}
- for motClef in TelemacdicoEn():
+ for motClef in TelemacdicoEn:
d={}
for valTelemac in TelemacdicoEn[motClef]:
valEficas= TelemacdicoEn[motClef][valTelemac]
DicoEnumCasEnInverse[motClef]=d
except :
- pass
+ pass
+
+
def entryPoint():
self.PE=False
self.FE=False
self.VE=False
+ self.commentaireAvant = False
+ self.texteCom=''
if self.langue == "fr" :
self.textPE = 'COTES IMPOSEES :'
self.textFE = 'DEBITS IMPOSES :'
#----------------------------------------------------------------------------------------
def generPROC_ETAPE(self,obj):
- self.texteDico += '/------------------------------------------------------/\n'
- self.texteDico += '/\t\t\t'+obj.nom +'\n'
- self.texteDico += '/------------------------------------------------------/\n'
+ if not self.commentaireAvant or self.texteCom.find(obj.nom) < 0:
+ self.texteDico += '/------------------------------------------------------------------/\n'
+ self.texteDico += '/\t\t\t'+obj.nom +'\n'
+ self.texteDico += '/------------------------------------------------------------------/\n'
+ self.commentaireAvant = False
+ self.texteCom=''
s=PythonGenerator.generPROC_ETAPE(self,obj)
if obj.nom in TELEMACGenerator.__dict__ : TELEMACGenerator.__dict__[obj.nom](*(self,obj))
if s == "" : return s
-
+
sTelemac=s[0:-1]
if not( type(obj.valeur) in (tuple,list) ):
if obj.nom in DicoEnumCasEnInverse:
try : sTelemac=str(DicoEnumCasEnInverse[obj.nom][obj.valeur])
- except : print(("generMCSIMP Pb valeur avec ", obj.nom, obj.valeur))
+ except :
+ if obj.valeur==None : sTelemac=obj.valeur
+ else : print(("generMCSIMP Pb valeur avec ", obj.nom, obj.valeur))
if type(obj.valeur) in (tuple,list) :
if obj.nom in DicoEnumCasEnInverse:
#sT = "'"
sT=''
for v in obj.valeur:
try : sT +=str(DicoEnumCasEnInverse[obj.nom][v]) +";"
- except : print(("generMCSIMP Pb Tuple avec ", obj.nom, v, obj.valeur))
+ except :
+ if obj.definition.intoSug != [] : sT +=str(v) + ";"
+ else : print(("generMCSIMP Pb Tuple avec ", obj.nom, v, obj.valeur))
#sTelemac=sT[0:-1]+"'"
sTelemac=sT[0:-1]
else :
ligne=" "+str(v)+'; '
text+= ligne[0:-2]+'\n'
return text
+
+ def generCOMMENTAIRE(self,obj):
+ sans_saut = re.sub("\n$","",obj.valeur)
+ l_lignes = sans_saut.split('\n')
+ txt='/'+66*'-'+'/'+'\n'
+ i=1
+ for ligne in l_lignes:
+ self.texteCom+=ligne+'\n'
+ txt = txt + '/'+ligne+'\n'
+ txt= txt + '/'+66*'-'+'/'+'\n'
+ self.texteDico += txt
+ self.commentaireAvant= True
+ return PythonGenerator.generCOMMENTAIRE(self,obj)
+
+
# Cette instruction genere le contenu du fichier de commandes (persistance)
self.text=PythonGenerator.gener(self,obj,format)
+ #print (self.text)
return self.text
+
#----------------------------------------------------------------------------------------
# initialisations
#----------------------------------------------------------------------------------------
Si format vaut 'standard', retourne un texte obtenu par concatenation de la liste
Si format vaut 'beautifie', retourne le meme texte beautifie
"""
+ import logging
self.appli=obj.get_jdc_root().appli
#self.appli=obj.appli
liste= self.generator(obj)
+ #format='standard'
if format == 'brut':
self.text=liste
elif format == 'standard':
self.text=''.join(liste)
elif format == 'beautifie':
jdc_formate = Formatage(liste,mode='.py')
+ #import cProfile, pstats, StringIO
+ #pr = cProfile.Profile()
+ #pr.enable()
self.text=jdc_formate.formate_jdc()
+ #pr.disable()
+ #s = StringIO.StringIO()
+ #sortby = 'cumulative'
+ #ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
+ #ps.print_stats()
+ #print (s.getvalue())
+
elif format == 'Ligne':
jdc_formate = FormatageLigne(liste,mode='.py')
self.text=jdc_formate.formate_jdc()