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 committed by vsr
parent a9e8259255
commit c9afb20072
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 = '' if os.path.exists(self.parent().fichierOut):
ext = '' os.remove(self.parent().fichierOut)
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'
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 self.monExe.start(txt)
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 = '' if os.path.exists(self.parent().fichierOut):
ext = '' os.remove(self.parent().fichierOut)
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'
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()