def parse(args):
parser=createparser()
+ commande=args[0]
(options,args)=parser.parse_args(args[1:])
if not hasattr(options,"studies"):
options.studies=[]
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
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):
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):
#-----------------------
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'
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):
#-----------------------
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)
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):
#------------------------------
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):
#-------------------------------