diff options
author | pukkandan <pukkandan@gmail.com> | 2021-01-26 15:50:20 +0530 |
---|---|---|
committer | pukkandan <pukkandan@gmail.com> | 2021-01-26 16:14:31 +0530 |
commit | 5bfa48620542d9ee34958d7c96aa45465b058fbd (patch) | |
tree | 60220c27fb40122909c00d43a59cd08c2edf661b /youtube_dlc/postprocessor/metadatafromtitle.py | |
parent | 9882064024abdad7d37771459e9df11bcdec1115 (diff) | |
download | hypervideo-pre-5bfa48620542d9ee34958d7c96aa45465b058fbd.tar.lz hypervideo-pre-5bfa48620542d9ee34958d7c96aa45465b058fbd.tar.xz hypervideo-pre-5bfa48620542d9ee34958d7c96aa45465b058fbd.zip |
Add option `--parse-metadata`
* The fields extracted by this can be used in `--output`
* Deprecated `--metadata-from-title`
:ci skip dl
Diffstat (limited to 'youtube_dlc/postprocessor/metadatafromtitle.py')
-rw-r--r-- | youtube_dlc/postprocessor/metadatafromtitle.py | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/youtube_dlc/postprocessor/metadatafromtitle.py b/youtube_dlc/postprocessor/metadatafromtitle.py deleted file mode 100644 index 86df3b4f0..000000000 --- a/youtube_dlc/postprocessor/metadatafromtitle.py +++ /dev/null @@ -1,44 +0,0 @@ -from __future__ import unicode_literals - -import re - -from .common import PostProcessor - - -class MetadataFromTitlePP(PostProcessor): - def __init__(self, downloader, titleformat): - super(MetadataFromTitlePP, self).__init__(downloader) - self._titleformat = titleformat - self._titleregex = (self.format_to_regex(titleformat) - if re.search(r'%\(\w+\)s', titleformat) - else titleformat) - - def format_to_regex(self, fmt): - r""" - Converts a string like - '%(title)s - %(artist)s' - to a regex like - '(?P<title>.+)\ \-\ (?P<artist>.+)' - """ - lastpos = 0 - regex = '' - # replace %(..)s with regex group and escape other string parts - for match in re.finditer(r'%\((\w+)\)s', fmt): - regex += re.escape(fmt[lastpos:match.start()]) - regex += r'(?P<' + match.group(1) + '>.+)' - lastpos = match.end() - if lastpos < len(fmt): - regex += re.escape(fmt[lastpos:]) - return regex - - def run(self, info): - title = info['title'] - match = re.match(self._titleregex, title) - if match is None: - self.to_screen('Could not interpret title of video as "%s"' % self._titleformat) - return [], info - for attribute, value in match.groupdict().items(): - info[attribute] = value - self.to_screen('parsed %s: %s' % (attribute, value if value is not None else 'NA')) - - return [], info |