Fix to allow Cleaner and SurfOpt to be launched on files with special characters on Windows.

Do not use an intermediate bat file to prevent bad unicode conversions.
This commit is contained in:
Christophe Bourcier 2019-01-16 14:18:24 +01:00
parent 9d4de5cff7
commit 6d3cec2c38
2 changed files with 6 additions and 52 deletions

View File

@ -67,33 +67,10 @@ class MGCleanerMonViewText(Ui_ViewExe, QDialog):
PP.pprint([str(i) for i in sorted(self.monExe.processEnvironment().toStringList()) if 'DISTENE' in i])
"""
cmds = ''
ext = ''
if sys.platform == "win32":
if os.path.exists(self.parent().fichierOut):
cmds += 'del %s\n' % self.parent().fichierOut
ext = '.bat'
else:
cmds += '#!/bin/bash\n'
cmds += 'pwd\n'
#cmds += 'which mg-cleaner.exe\n'
cmds += 'echo "DISTENE_LICENSE_FILE="$DISTENE_LICENSE_FILE\n'
cmds += 'echo "DLIM8VAR="$DLIM8VAR\n'
cmds += 'rm -f %s\n' % self.parent().fichierOut
ext = '.bash'
if os.path.exists(self.parent().fichierOut):
os.remove(self.parent().fichierOut)
cmds += 'echo %s\n' % txt #to see what is compute command
cmds += txt+'\n'
cmds += 'echo "END_OF_MGCleaner"\n'
nomFichier = os.path.splitext(self.parent().fichierOut)[0] + ext
with open(nomFichier, 'w') as f:
f.write(cmds)
self.make_executable(nomFichier)
if verbose: print(("INFO: MGCleaner launch script file: %s" % nomFichier))
self.monExe.start(nomFichier)
self.monExe.start(txt)
self.monExe.closeWriteChannel()
self.enregistreResultatsDone=False
self.show()

View File

@ -55,33 +55,10 @@ class MonViewText(Ui_ViewExe, QDialog):
self.monExe.readyReadStandardError.connect( self.readFromStdErr )
self.monExe.finished.connect( self.finished )
cmds = ''
ext = ''
if sys.platform == "win32":
if os.path.exists(self.parent().fichierOut):
cmds += 'del %s\n' % self.parent().fichierOut
ext = '.bat'
else:
cmds += '#!/bin/bash\n'
cmds += 'pwd\n'
#cmds += 'which mg-surfopt.exe\n'
cmds += 'echo "DISTENE_LICENSE_FILE="$DISTENE_LICENSE_FILE\n'
cmds += 'echo "DLIM8VAR="$DLIM8VAR\n'
cmds += 'rm -f %s\n' % self.parent().fichierOut
ext = '.bash'
if os.path.exists(self.parent().fichierOut):
os.remove(self.parent().fichierOut)
cmds += 'echo %s\n' % txt #to see what is compute command
cmds += txt+'\n'
cmds += 'echo "END_OF_MGSurfOpt"\n'
nomFichier = os.path.splitext(self.parent().fichierOut)[0] + ext
with open(nomFichier, 'w') as f:
f.write(cmds)
self.make_executable(nomFichier)
if verbose: print(("INFO: MGSurfOpt launch script file: %s" % nomFichier))
self.monExe.start(nomFichier)
self.monExe.start(txt)
self.monExe.closeWriteChannel()
self.enregistreResultatsDone=False
self.show()