Merge pull request 'Escape %folder% and %filename% in execute command' (#70) from kermit/deemix:escape-execute into main

Reviewed-on: https://codeberg.org/RemixDev/deemix/pulls/70
This commit is contained in:
RemixDev 2020-10-02 18:11:44 +02:00
commit 66be97bec4
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 pathlib import Path
from shlex import quote
import re
import errno
@ -158,7 +159,7 @@ class DownloadJob:
f.write(orig.encode('utf-8'))
# Execute command after download
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):
if not self.extrasPath:
@ -213,7 +214,7 @@ class DownloadJob:
f.write((line + "\n").encode('utf-8'))
# Execute command after download
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):
result = {}