mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-11-29 13:42:37 +00:00
Added regex/string matching support titles to selectively download videos.
This commit is contained in:
parent
4b0d9eed45
commit
ae637e6092
1 changed files with 17 additions and 0 deletions
17
youtube-dl
17
youtube-dl
|
@ -282,6 +282,8 @@ class FileDownloader(object):
|
||||||
noprogress: Do not print the progress bar.
|
noprogress: Do not print the progress bar.
|
||||||
playliststart: Playlist item to start at.
|
playliststart: Playlist item to start at.
|
||||||
playlistend: Playlist item to end at.
|
playlistend: Playlist item to end at.
|
||||||
|
matchtitle: Download only matching titles.
|
||||||
|
rejecttitle: Reject downloads for matching titles.
|
||||||
logtostderr: Log messages to stderr instead of stdout.
|
logtostderr: Log messages to stderr instead of stdout.
|
||||||
consoletitle: Display progress in console window's titlebar.
|
consoletitle: Display progress in console window's titlebar.
|
||||||
nopart: Do not use temporary .part files.
|
nopart: Do not use temporary .part files.
|
||||||
|
@ -557,6 +559,17 @@ class FileDownloader(object):
|
||||||
|
|
||||||
if filename is None:
|
if filename is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
matchtitle=self.params.get('matchtitle',False)
|
||||||
|
rejecttitle=self.params.get('rejecttitle',False)
|
||||||
|
title=info_dict['title'].encode(preferredencoding(), 'xmlcharrefreplace')
|
||||||
|
if matchtitle and not re.search(matchtitle, title, re.IGNORECASE):
|
||||||
|
self.to_screen(u'[download] "%s" title did not match pattern "%s"' % (title, matchtitle))
|
||||||
|
return
|
||||||
|
if rejecttitle and re.search(rejecttitle, title, re.IGNORECASE):
|
||||||
|
self.to_screen(u'[download] "%s" title matched reject pattern "%s"' % (title, rejecttitle))
|
||||||
|
return
|
||||||
|
|
||||||
if self.params.get('nooverwrites', False) and os.path.exists(filename):
|
if self.params.get('nooverwrites', False) and os.path.exists(filename):
|
||||||
self.to_stderr(u'WARNING: file exists and will be skipped')
|
self.to_stderr(u'WARNING: file exists and will be skipped')
|
||||||
return
|
return
|
||||||
|
@ -2743,6 +2756,8 @@ if __name__ == '__main__':
|
||||||
dest='playliststart', metavar='NUMBER', help='playlist video to start at (default is 1)', default=1)
|
dest='playliststart', metavar='NUMBER', help='playlist video to start at (default is 1)', default=1)
|
||||||
parser.add_option('--playlist-end',
|
parser.add_option('--playlist-end',
|
||||||
dest='playlistend', metavar='NUMBER', help='playlist video to end at (default is last)', default=-1)
|
dest='playlistend', metavar='NUMBER', help='playlist video to end at (default is last)', default=-1)
|
||||||
|
parser.add_option('--match-title', dest='matchtitle', metavar='REGEX',help='download only matching titles (regex or caseless sub-string)')
|
||||||
|
parser.add_option('--reject-title', dest='rejecttitle', metavar='REGEX',help='skip download for matching titles (regex or caseless sub-string)')
|
||||||
parser.add_option('--dump-user-agent',
|
parser.add_option('--dump-user-agent',
|
||||||
action='store_true', dest='dump_user_agent',
|
action='store_true', dest='dump_user_agent',
|
||||||
help='display the current browser identification', default=False)
|
help='display the current browser identification', default=False)
|
||||||
|
@ -2945,6 +2960,8 @@ if __name__ == '__main__':
|
||||||
'noprogress': opts.noprogress,
|
'noprogress': opts.noprogress,
|
||||||
'playliststart': opts.playliststart,
|
'playliststart': opts.playliststart,
|
||||||
'playlistend': opts.playlistend,
|
'playlistend': opts.playlistend,
|
||||||
|
'matchtitle':opts.matchtitle,
|
||||||
|
'rejecttitle':opts.rejecttitle,
|
||||||
'logtostderr': opts.outtmpl == '-',
|
'logtostderr': opts.outtmpl == '-',
|
||||||
'consoletitle': opts.consoletitle,
|
'consoletitle': opts.consoletitle,
|
||||||
'nopart': opts.nopart,
|
'nopart': opts.nopart,
|
||||||
|
|
Loading…
Reference in a new issue