X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fpostprocessor%2Fexecafterdownload.py;h=64dabe790bcb74e88b4959f3c20e0eb23a0bcf8c;hb=6cd452acffe8d79c895a2ebd0346e2ba7f9e112f;hp=09db43611a7c288e77c2cacaf96f266c541b2bbc;hpb=c1777d5cb3fb1ae48de79badfe5b8db9963999b4;p=youtube-dl diff --git a/youtube_dl/postprocessor/execafterdownload.py b/youtube_dl/postprocessor/execafterdownload.py index 09db43611..64dabe790 100644 --- a/youtube_dl/postprocessor/execafterdownload.py +++ b/youtube_dl/postprocessor/execafterdownload.py @@ -3,26 +3,29 @@ from __future__ import unicode_literals import subprocess from .common import PostProcessor -from ..compat import shlex_quote -from ..utils import PostProcessingError +from ..compat import compat_shlex_quote +from ..utils import ( + encodeArgument, + PostProcessingError, +) class ExecAfterDownloadPP(PostProcessor): - def __init__(self, downloader=None, verboseOutput=None, exec_cmd=None): - self.verboseOutput = verboseOutput + def __init__(self, downloader, exec_cmd): + super(ExecAfterDownloadPP, self).__init__(downloader) self.exec_cmd = exec_cmd def run(self, information): cmd = self.exec_cmd - if not '{}' in cmd: + if '{}' not in cmd: cmd += ' {}' - cmd = cmd.replace('{}', shlex_quote(information['filepath'])) + cmd = cmd.replace('{}', compat_shlex_quote(information['filepath'])) - self._downloader.to_screen("[exec] Executing command: %s" % cmd) - retCode = subprocess.call(cmd, shell=True) + self._downloader.to_screen('[exec] Executing command: %s' % cmd) + retCode = subprocess.call(encodeArgument(cmd), shell=True) if retCode != 0: raise PostProcessingError( 'Command returned error code %d' % retCode) - return None, information # by default, keep file and do nothing + return [], information