diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-04-18 02:28:28 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-04-18 02:28:28 +0530 |
commit | 19a0394044bfad36cd665450271b8eb048a41c02 (patch) | |
tree | 0db2a09d23293b47f1cc3bbd3a5989120f660c37 /yt_dlp/postprocessor/metadataparser.py | |
parent | b6dc37fe2aee167bf11f863f960a4888f4886718 (diff) | |
download | hypervideo-pre-19a0394044bfad36cd665450271b8eb048a41c02.tar.lz hypervideo-pre-19a0394044bfad36cd665450271b8eb048a41c02.tar.xz hypervideo-pre-19a0394044bfad36cd665450271b8eb048a41c02.zip |
[cleanup] Misc cleanup and refactor (#2173)
Diffstat (limited to 'yt_dlp/postprocessor/metadataparser.py')
-rw-r--r-- | yt_dlp/postprocessor/metadataparser.py | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/yt_dlp/postprocessor/metadataparser.py b/yt_dlp/postprocessor/metadataparser.py index 5bc435da3..98885bd19 100644 --- a/yt_dlp/postprocessor/metadataparser.py +++ b/yt_dlp/postprocessor/metadataparser.py @@ -1,29 +1,25 @@ import re -from enum import Enum from .common import PostProcessor +from ..utils import Namespace class MetadataParserPP(PostProcessor): - class Actions(Enum): - INTERPRET = 'interpretter' - REPLACE = 'replacer' - def __init__(self, downloader, actions): - PostProcessor.__init__(self, downloader) + super().__init__(self, downloader) self._actions = [] for f in actions: - action = f[0] - assert isinstance(action, self.Actions) - self._actions.append(getattr(self, action.value)(*f[1:])) + action, *args = f + assert action in self.Actions + self._actions.append(action(*args)) @classmethod def validate_action(cls, action, *data): - ''' Each action can be: + """Each action can be: (Actions.INTERPRET, from, to) OR (Actions.REPLACE, field, search, replace) - ''' - if not isinstance(action, cls.Actions): + """ + if action not in cls.Actions: raise ValueError(f'{action!r} is not a valid action') getattr(cls, action.value)(cls, *data) # So this can raise error to validate @@ -99,6 +95,8 @@ class MetadataParserPP(PostProcessor): search_re = re.compile(search) return f + Actions = Namespace(INTERPRET=interpretter, REPLACE=replacer) + class MetadataFromFieldPP(MetadataParserPP): @classmethod |