aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-04-21 11:12:04 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2021-04-21 11:12:04 +0530
commita3faeb7de4fa4bf856633266b8ddfb3fc9586018 (patch)
tree77ef5a095261df5c1c46d6f5d3c387d48d3ab673 /yt_dlp
parent8c54a3051df902ab734d76e6bd037c685e835282 (diff)
downloadhypervideo-pre-a3faeb7de4fa4bf856633266b8ddfb3fc9586018.tar.lz
hypervideo-pre-a3faeb7de4fa4bf856633266b8ddfb3fc9586018.tar.xz
hypervideo-pre-a3faeb7de4fa4bf856633266b8ddfb3fc9586018.zip
[MetadataFromField] Improve regex and add tests
Diffstat (limited to 'yt_dlp')
-rw-r--r--yt_dlp/postprocessor/metadatafromfield.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/yt_dlp/postprocessor/metadatafromfield.py b/yt_dlp/postprocessor/metadatafromfield.py
index 195c63f92..1def868e8 100644
--- a/yt_dlp/postprocessor/metadatafromfield.py
+++ b/yt_dlp/postprocessor/metadatafromfield.py
@@ -7,7 +7,7 @@ from ..compat import compat_str
class MetadataFromFieldPP(PostProcessor):
- regex = r'(?P<in>.+):(?P<out>.+)$'
+ regex = r'(?P<in>.*?)(?<!\\):(?P<out>.+)$'
def __init__(self, downloader, formats):
PostProcessor.__init__(self, downloader)
@@ -17,10 +17,11 @@ class MetadataFromFieldPP(PostProcessor):
assert isinstance(f, compat_str)
match = re.match(self.regex, f)
assert match is not None
+ inp = match.group('in').replace('\\:', ':')
self._data.append({
- 'in': match.group('in'),
+ 'in': inp,
'out': match.group('out'),
- 'tmpl': self.field_to_template(match.group('in')),
+ 'tmpl': self.field_to_template(inp),
'regex': self.format_to_regex(match.group('out')),
})
@@ -68,6 +69,6 @@ class MetadataFromFieldPP(PostProcessor):
class MetadataFromTitlePP(MetadataFromFieldPP): # for backward compatibility
def __init__(self, downloader, titleformat):
- super(MetadataFromTitlePP, self).__init__(downloader, ['title:%s' % titleformat])
+ super(MetadataFromTitlePP, self).__init__(downloader, ['%%(title)s:%s' % titleformat])
self._titleformat = titleformat
self._titleregex = self._data[0]['regex']