sys.exit(res)
-def lance_eficas_ssIhm(code=None,fichier=None,version='v9.5'):
+def lance_eficas_ssIhm(code=None,fichier=None,ssCode=None,version=None):
"""
Lance l'appli EFICAS pour trouver les noms des groupes
"""
code=options.code
app = QApplication(sys.argv)
- Eficas=Appli(code=code)
+ Eficas=Appli(code=code,ssCode=ssCode)
from ssIhm import QWParentSSIhm
parent=QWParentSSIhm(code,Eficas,version)
import readercata
- #if not hasattr( readercata, 'reader' ) :
- # readercata.reader = readercata.READERCATA( parent, Eficas )
if not hasattr ( Eficas, 'readercata'):
monreadercata = readercata.READERCATA( parent, Eficas )
Eficas.readercata=monreadercata
from editor import JDCEditor
monEditeur=JDCEditor(Eficas,fichier)
print monEditeur.cherche_Groupes()
+
+def lance_MapToSh(code=None,fichier=None,ssCode='s_polymers_st_1_V1'):
+ """
+ Lance l'appli EFICAS pour trouver les noms des groupes
+ """
+ # Analyse des arguments de la ligne de commande
+
+ options=session.parse(sys.argv)
+ code=options.code
+ fichier=options.comm[0]
+
+ app = QApplication(sys.argv)
+ Eficas=Appli(code=code,ssCode=ssCode)
+
+ from ssIhm import QWParentSSIhm
+ parent=QWParentSSIhm(code,Eficas,None,ssCode)
+
+ import readercata
+ if not hasattr ( Eficas, 'readercata'):
+ monreadercata = readercata.READERCATA( parent, Eficas )
+ Eficas.readercata=monreadercata
+
+ from editor import JDCEditor
+ monEditeur=JDCEditor(Eficas,fichier)
+ texte=monEditeur.run("non")
+ print texte
self.connecterSignaux()
def connecterSignaux(self) :
- self.connect(self.LBParam,SIGNAL("itemPressed(QListWidgetItem*)"),self.LBParamItemPressed)
+ # self.connect(self.LBParam,SIGNAL("itemPressed(QListWidgetItem*)"),self.LBParamItemPressed)
+ self.connect(self.BOk,SIGNAL("clicked()"),self.valideParam)
def initVal(self):
self.LBParam.clear()
self.LBParam.addItem(QString(repr(param)))
self.dictListe[QString(repr(param))] = param
- def LBParamItemPressed(self):
- #print self.LBParam.selectedItems()
+ def valideParam(self):
if self.LBParam.selectedItems()== None : return
- i=self.LBParam.selectedItems()[0].text()
- self.panel.Ajout1Valeur(self.dictListe[i])
-
- def on_BOk_clicked(self):
- self.LBParamItemPressed()
+ lParam=[]
+ for indice in range(len(self.LBParam.selectedItems())):
+ i=self.LBParam.selectedItems()[indice].text()
+ param=self.dictListe[i]
+ lParam.append(param)
+
+ try :
+ self.panel.AjoutNValeur(lParam)
+ except :
+ for p in lParam :
+ self.panel.Ajout1Valeur(p)
self.close()
+
+
self.LERepAster.setText(self.configuration.PATH_MAP)
return
self.configuration.PATH_MAP=str(self.LERepMAP.text())
- self.configuration.PATH_PYGMEE=self.configuration.PATH_MAP+"/components/pygmee_v1"
+ self.configuration.PATH_PYGMEE=self.configuration.PATH_MAP+"/components/pygmee_v2"
self.configuration.PATH_BENHUR=self.configuration.PATH_MAP+"/components/benhur"
self.configuration.PATH_FDVGRID=self.configuration.PATH_MAP+"components/fdvgrid/ther2d/bin"
self.configuration.PATH_MODULE=self.configuration.PATH_MODULE+"components/fdvgrid/ther2d/bin"
# permet de lancer EFICAS en n affichant rien
class QWParentSSIhm:
- def __init__(self,code,appliEficas,version_code):
+ def __init__(self,code,appliEficas,version_code,ssCode):
self.ihm="QT"
self.code=code
self.version_code=version_code
- print self.version_code
+ self.ssCode=ssCode
+ if ssCode != None :
+ self.format_fichier= ssCode #par defaut
+ #prefsCode.NAME_SCHEME=ssCode
+ else :
+ self.format_fichier="python" #par defaut
self.appliEficas=appliEficas
-#@ MODIF N_JDC Noyau DATE 16/11/2009 AUTEUR COURTOIS M.COURTOIS
+#@ MODIF N_JDC Noyau DATE 24/08/2010 AUTEUR COURTOIS M.COURTOIS
# -*- coding: iso-8859-1 -*-
# RESPONSABLE COURTOIS M.COURTOIS
# CONFIGURATION MANAGEMENT OF EDF VERSION
self.cata=cata
if type(self.cata) != types.TupleType and cata != None:
self.cata=(self.cata,)
+ self._build_reserved_kw_list()
self.cata_ordonne_dico=cata_ord_dico
self.nom = nom
self.appli=appli
if isinstance(sd,ASSD):self.sds_dict[sdnom]=sd
if self.appli != None :
- self.appli.affiche_infos('Interpretation du fichier de commandes en cours ...')
+ self.appli.affiche_infos('Interprétation du fichier de commandes en cours ...')
# On sauve le contexte pour garder la memoire des constantes
# En mode edition (EFICAS) ou lors des verifications le contexte
# est recalculé
o=self.sds_dict.get(sdnom,None)
if isinstance(o,ASSD):
raise AsException("Nom de concept deja defini : %s" % sdnom)
+ if self._reserved_kw.get(sdnom) == 1:
+ raise AsException("Nom de concept invalide. '%s' est un mot-clé réservé." % sdnom)
# ATTENTION : Il ne faut pas ajouter sd dans sds car il s y trouve deja.
# Ajoute a la creation (appel de reg_sd).
if CONTEXT.debug: print ' `- JDC sd_accessible : PAR_LOT =', self.par_lot
return self.par_lot == 'NON'
+
+ def _build_reserved_kw_list(self):
+ """Construit la liste des mots-clés réservés (interdits pour le
+ nommage des concepts)."""
+ wrk = set()
+ for cat in self.cata:
+ wrk.update([kw for kw in dir(cat) if len(kw) <= 8 and kw == kw.upper()])
+ wrk.difference_update(['OPER', 'MACRO', 'BLOC', 'SIMP', 'FACT', 'FORM',
+ 'GEOM', 'MCSIMP', 'MCFACT'])
+ self._reserved_kw = {}.fromkeys(wrk, 1)
+
-#@ MODIF N_VALIDATOR Noyau DATE 11/05/2010 AUTEUR COURTOIS M.COURTOIS
+#@ MODIF N_VALIDATOR Noyau DATE 11/10/2010 AUTEUR COURTOIS M.COURTOIS
# -*- coding: iso-8859-1 -*-
# RESPONSABLE COURTOIS M.COURTOIS
# CONFIGURATION MANAGEMENT OF EDF VERSION
return chaine
def verif(self,valeur):
- print "je suis dans le verif du AndVal"
for validator in self.validators:
v=validator.verif(valeur)
if not v :
def verif_item(self,valeur):
try :
- if len(valeur) != len(self.typeDesTuples): return 0
- for i in range(len(valeur)) :
- ok=self.verifType(valeur[i],self.typeDesTuples[i])
- if ok!=1 : return 0
- except :
+ if len(valeur) != len(self.typeDesTuples):
return 0
+ for i in range(len(valeur)) :
+ ok=self.verifType(valeur[i],self.typeDesTuples[i])
+ if ok!=1:
+ return 0
+ except :
+ return 0
return 1
def verifType(self,valeur,type_permis):
-#@ MODIF N__F Noyau DATE 07/09/2009 AUTEUR COURTOIS M.COURTOIS
+#@ MODIF N__F Noyau DATE 11/10/2010 AUTEUR COURTOIS M.COURTOIS
# -*- coding: iso-8859-1 -*-
# RESPONSABLE COURTOIS M.COURTOIS
# CONFIGURATION MANAGEMENT OF EDF VERSION
else:
return cmp(self.data, dict)
+ def __iter__(self):
+ return iter(self.data)
+
def copy(self):
import copy
c= copy.copy(self)
c.data=self.data.copy()
return c
-
-
-