Browse Source

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

master-ytdl-org
Sergey M․ 8 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. +6
    -5
      youtube_dl/options.py
  2. +3
    -1
      youtube_dl/postprocessor/metadatafromtitle.py

+ 6
- 5
youtube_dl/options.py View File

@ -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,


+ 3
- 1
youtube_dl/postprocessor/metadatafromtitle.py View File

@ -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