1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-12-09 09:45:19 +00:00

Misc fixes - See desc

* Remove unnecessary uses of _list_from_options_callback
* Fix download tests - Bug from 6e84b21559
* Rename ExecAfterDownloadPP to ExecPP and refactor its tests
* Ensure _write_ytdl_file closes file handle on error - Potential fix for #517
This commit is contained in:
pukkandan
2021-08-09 17:40:24 +05:30
parent 2831b4686c
commit ad3dc496bb
8 changed files with 43 additions and 41 deletions

View File

@@ -19,7 +19,7 @@ from .ffmpeg import (
FFmpegVideoRemuxerPP,
)
from .xattrpp import XAttrMetadataPP
from .execafterdownload import ExecAfterDownloadPP
from .exec import ExecPP, ExecAfterDownloadPP
from .metadataparser import (
MetadataFromFieldPP,
MetadataFromTitlePP,
@@ -36,6 +36,7 @@ def get_postprocessor(key):
__all__ = [
'FFmpegPostProcessor',
'EmbedThumbnailPP',
'ExecPP',
'ExecAfterDownloadPP',
'FFmpegEmbedSubtitlePP',
'FFmpegExtractAudioPP',

View File

@@ -11,16 +11,12 @@ from ..utils import (
)
class ExecAfterDownloadPP(PostProcessor):
class ExecPP(PostProcessor):
def __init__(self, downloader, exec_cmd):
super(ExecAfterDownloadPP, self).__init__(downloader)
PostProcessor.__init__(self, downloader)
self.exec_cmd = variadic(exec_cmd)
@classmethod
def pp_key(cls):
return 'Exec'
def parse_cmd(self, cmd, info):
tmpl, tmpl_dict = self._downloader.prepare_outtmpl(cmd, info)
if tmpl_dict: # if there are no replacements, tmpl_dict = {}
@@ -40,3 +36,7 @@ class ExecAfterDownloadPP(PostProcessor):
if retCode != 0:
raise PostProcessingError('Command returned error code %d' % retCode)
return [], info
class ExecAfterDownloadPP(ExecPP): # for backward compatibility
pass