未验证 提交 5520aa2d 编写于 作者: P pukkandan

Add option `--exec-before-download`

Closes #530
上级 8d9b9022
......@@ -773,6 +773,8 @@ ## Post-Processing Options:
downloaded file is also available. If no
fields are passed, "%(filepath)s" is
appended to the end of the command
--exec-before-download CMD Execute a command before the actual
download. The syntax is the same as --exec
--convert-subs FORMAT Convert the subtitles to another format
(currently supported: srt|vtt|ass|lrc)
(Alias: --convert-subtitles)
......
......@@ -415,6 +415,13 @@ def report_conflict(arg1, arg2):
# Run this before the actual video download
'when': 'before_dl'
})
# Must be after all other before_dl
if opts.exec_before_dl_cmd:
postprocessors.append({
'key': 'ExecAfterDownload',
'exec_cmd': opts.exec_before_dl_cmd,
'when': 'before_dl'
})
if opts.extractaudio:
postprocessors.append({
'key': 'FFmpegExtractAudio',
......
......@@ -1265,6 +1265,10 @@ def _dict_from_options_callback(
'Similar syntax to the output template can be used to pass any field as arguments to the command. '
'An additional field "filepath" that contains the final path of the downloaded file is also available. '
'If no fields are passed, "%(filepath)s" is appended to the end of the command'))
postproc.add_option(
'--exec-before-download',
metavar='CMD', dest='exec_before_dl_cmd',
help='Execute a command before the actual download. The syntax is the same as --exec')
postproc.add_option(
'--convert-subs', '--convert-sub', '--convert-subtitles',
metavar='FORMAT', dest='convertsubtitles', default=None,
......
......@@ -28,7 +28,8 @@ def parse_cmd(self, cmd, info):
# If no replacements are found, replace {} for backard compatibility
if '{}' not in cmd:
cmd += ' {}'
return cmd.replace('{}', compat_shlex_quote(info['filepath']))
return cmd.replace('{}', compat_shlex_quote(
info.get('filepath') or info['_filename']))
def run(self, info):
cmd = self.parse_cmd(self.exec_cmd, info)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册