Escape %folder% and %filename% in execute command

This commit is contained in:
kermit 2020-10-02 17:03:01 +01:00
parent 2e8bae427d
commit 861ac8f347
1 changed files with 3 additions and 2 deletions

View File

@ -3,6 +3,7 @@ from eventlet.green.subprocess import call as execute
from os.path import sep as pathSep from os.path import sep as pathSep
from pathlib import Path from pathlib import Path
from shlex import quote
import re import re
import errno import errno
@ -158,7 +159,7 @@ class DownloadJob:
f.write(orig.encode('utf-8')) f.write(orig.encode('utf-8'))
# Execute command after download # Execute command after download
if self.settings['executeCommand'] != "": if self.settings['executeCommand'] != "":
execute(self.settings['executeCommand'].replace("%folder%", str(self.extrasPath)).replace("%filename%", result['filename']), shell=True) execute(self.settings['executeCommand'].replace("%folder%", quote(str(self.extrasPath))).replace("%filename%", quote(result['filename'])), shell=True)
def collectionAfterDownload(self, tracks): def collectionAfterDownload(self, tracks):
if not self.extrasPath: if not self.extrasPath:
@ -213,7 +214,7 @@ class DownloadJob:
f.write((line + "\n").encode('utf-8')) f.write((line + "\n").encode('utf-8'))
# Execute command after download # Execute command after download
if self.settings['executeCommand'] != "": if self.settings['executeCommand'] != "":
execute(self.settings['executeCommand'].replace("%folder%", str(self.extrasPath)), shell=True) execute(self.settings['executeCommand'].replace("%folder%", quote(str(self.extrasPath))), shell=True)
def download(self, trackAPI_gw, track=None): def download(self, trackAPI_gw, track=None):
result = {} result = {}