Browse Source

[postprocessor/metadatafromtitle] Add support regex syntax for --metadata-from-title (closes #13065)

master
Sergey M․ 7 years ago
parent
commit
fa26734e07
No known key found for this signature in database GPG Key ID: 2C393E0F18A9236D
2 changed files with 9 additions and 6 deletions
  1. 11
      youtube_dl/options.py
  2. 4
      youtube_dl/postprocessor/metadatafromtitle.py

11
youtube_dl/options.py

@ -814,11 +814,12 @@ def parseOpts(overrideArguments=None):
'--metadata-from-title',
metavar='FORMAT', dest='metafromtitle',
help='Parse additional metadata like song title / artist from the video title. '
'The format syntax is the same as --output, '
'the parsed parameters replace existing values. '
'Additional templates: %(album)s, %(artist)s. '
'Example: --metadata-from-title "%(artist)s - %(title)s" matches a title like '
'"Coldplay - Paradise"')
'The format syntax is the same as --output. Regular expression with '
'named capture groups may also be used. '
'The parsed parameters replace existing values. '
'Example: --metadata-from-title "%(artist)s - %(title)s" matches a title like '
'"Coldplay - Paradise". '
'Example (regex): --metadata-from-title "(?P<artist>.+?) - (?P<title>.+)"')
postproc.add_option(
'--xattrs',
action='store_true', dest='xattrs', default=False,

4
youtube_dl/postprocessor/metadatafromtitle.py

@ -9,7 +9,9 @@ class MetadataFromTitlePP(PostProcessor):
def __init__(self, downloader, titleformat):
super(MetadataFromTitlePP, self).__init__(downloader)
self._titleformat = titleformat
self._titleregex = self.format_to_regex(titleformat)
self._titleregex = (self.format_to_regex(titleformat)
if re.search(r'%\(\w+\)s', titleformat)
else titleformat)
def format_to_regex(self, fmt):
r"""

Loading…
Cancel
Save