Merge pull request #245 from sylveon/master

FIx whitespace handling when invoking Python
master
Piero Toffanin 2025-08-23 14:02:49 -04:00 zatwierdzone przez GitHub
commit 3b72047457
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
2 zmienionych plików z 12 dodań i 3 usunięć

Wyświetl plik

@ -2,7 +2,7 @@
setlocal
call %ODM_PATH%\win32env.bat
call "%ODM_PATH%\win32env.bat"
python %*
endlocal
endlocal

Wyświetl plik

@ -127,8 +127,17 @@ module.exports = {
const env = utils.clone(process.env);
env.ODM_OPTIONS_TMP_FILE = utils.tmpPath(".json");
env.ODM_PATH = config.odm_path;
const shEscape = s => {
if (/[^A-Za-z0-9_\/:=-]/.test(s)) {
s = "'"+s.replace(/'/g,"'\\''")+"'";
s = s.replace(/^(?:'')+/g, '')
.replace(/\\'''/g, "\\'" );
}
return s;
}
let childProcess = spawn(pythonExe, [path.join(__dirname, "..", "helpers", "odmOptionsToJson.py"),
"--project-path", config.odm_path, "bogusname"], { env, stdio: 'inherit', shell: true });
"--project-path", shEscape(`"${config.odm_path}"`), "bogusname"], { env, stdio: 'inherit', shell: true });
// Cleanup on done
let handleResult = (err, result) => {