1 import sys, os, shutil, pickle, tempfile
2 from Zcracks import main, genereCrack, Zset
3 from Zcracks import utilityFunctions as uF
5 os.environ['QT_QPA_PLATFORM_PLUGIN_PATH']=os.path.join(os.environ['QTDIR'],'plugins','platforms')
7 #commande="/bin/bash -c ""source $HOME/zebulon/Z8.6.6_NEW/do_config_bash"""
12 from PyQt5.QtWidgets import QApplication
14 app = QApplication(sys.argv)
15 myapp = main.ShipHolderApplication()
20 def SCRIPT(dataFile=None, data=None, dim=3, names=None):
25 if dataFile==None and data==None:
26 print('One of dataFile or data is mandatory')
29 if data==None: data=pickle.load(open(dataFile,'r'))
33 tmpdir=tempfile.mkdtemp(prefix='tmpZcracks')
35 if names==None: names={'saneGeoName':'salome_sane', 'crackGeoName':'salome_crack', 'crackedGeoName':'salome_cracked'}
37 crackedMed=data['crackedName']
38 crackMed=os.path.join(tmpdir,'crackMed.med')
39 saneMed=data['saneName']
41 saneGeo=os.path.join(tmpdir,names['saneGeoName']+'.geo')
42 crackGeo=os.path.join(tmpdir,names['crackGeoName']+'.geo')
43 crackedGeo=os.path.join(tmpdir,names['crackedGeoName']+'.geo')
45 for f in [crackMed, crackedMed, saneGeo, crackGeo, crackedGeo]:
46 if os.path.isfile(f): os.remove(f)
49 genereCrack.main(data, crackMed)
50 goOn=os.path.isfile(crackMed)
52 if goOn: Zset.medToGeo(crackMed, crackGeo, tmpdir)
53 goOn=os.path.isfile(crackGeo)
56 if goOn: Zset.medToGeo(saneMed,saneGeo, tmpdir)
58 if goOn: Zset.medToGeo(saneMed,saneGeo, tmpdir, opt=[' **to_3d'])
59 goOn=os.path.isfile(saneGeo)
61 if goOn: Zset.insertCrack(data, names, tmpdir)
62 goOn=os.path.isfile(crackedGeo)
64 if goOn: Zset.geoToMed(crackedMed, crackedGeo, tmpdir)
65 goOn=os.path.isfile(crackedMed)
67 if goOn: maxAR=uF.extendElsets(crackedMed)
71 return([os.path.isfile(crackedMed), maxAR])