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]) 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): if os.path.exists(self.parent().fichierOut):
cmds += 'del %s\n' % self.parent().fichierOut os.remove(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'
cmds += 'echo %s\n' % txt #to see what is compute command self.monExe.start(txt)
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.closeWriteChannel() self.monExe.closeWriteChannel()
self.enregistreResultatsDone=False self.enregistreResultatsDone=False
self.show() self.show()

View File

@ -55,33 +55,10 @@ class MonViewText(Ui_ViewExe, QDialog):
self.monExe.readyReadStandardError.connect( self.readFromStdErr ) self.monExe.readyReadStandardError.connect( self.readFromStdErr )
self.monExe.finished.connect( self.finished ) self.monExe.finished.connect( self.finished )
cmds = ''
ext = ''
if sys.platform == "win32":
if os.path.exists(self.parent().fichierOut): if os.path.exists(self.parent().fichierOut):
cmds += 'del %s\n' % self.parent().fichierOut os.remove(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'
cmds += 'echo %s\n' % txt #to see what is compute command self.monExe.start(txt)
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.closeWriteChannel() self.monExe.closeWriteChannel()
self.enregistreResultatsDone=False self.enregistreResultatsDone=False
self.show() self.show()