From ae637e60920c975a22dae0f2c53c5db2d5bf4cf9 Mon Sep 17 00:00:00 2001 From: Anand Babu Periasamy Date: Sat, 23 Jul 2011 00:51:06 -0700 Subject: [PATCH 1/2] Added regex/string matching support titles to selectively download videos. --- youtube-dl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/youtube-dl b/youtube-dl index 3ac27a857..72870dc22 100755 --- a/youtube-dl +++ b/youtube-dl @@ -282,6 +282,8 @@ class FileDownloader(object): noprogress: Do not print the progress bar. playliststart: Playlist item to start 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. consoletitle: Display progress in console window's titlebar. nopart: Do not use temporary .part files. @@ -557,6 +559,17 @@ class FileDownloader(object): if filename is None: 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): self.to_stderr(u'WARNING: file exists and will be skipped') return @@ -2743,6 +2756,8 @@ if __name__ == '__main__': dest='playliststart', metavar='NUMBER', help='playlist video to start at (default is 1)', default=1) parser.add_option('--playlist-end', 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', action='store_true', dest='dump_user_agent', help='display the current browser identification', default=False) @@ -2945,6 +2960,8 @@ if __name__ == '__main__': 'noprogress': opts.noprogress, 'playliststart': opts.playliststart, 'playlistend': opts.playlistend, + 'matchtitle':opts.matchtitle, + 'rejecttitle':opts.rejecttitle, 'logtostderr': opts.outtmpl == '-', 'consoletitle': opts.consoletitle, 'nopart': opts.nopart, From 4c74dbcba66ade05e1d0ba7f57107dc8801d2c97 Mon Sep 17 00:00:00 2001 From: Anand Babu Periasamy Date: Sat, 23 Jul 2011 00:55:07 -0700 Subject: [PATCH 2/2] Added README file. --- README | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 000000000..acc80dc68 --- /dev/null +++ b/README @@ -0,0 +1,37 @@ +youtube-dl is a small command-line program to download videos from +YouTube.com and a few more sites. It requires the Python interpreter, +version 2.x (x being at least 5), and it is not platform specific. It +should work in your Unix box, in Windows or in Mac OS X. It is +released to the PUBLIC DOMAIN, which means you can modify it, +redistribute it or use it however you like. The project is currently +being developed at github.com. + +I will try to keep it updated if YouTube.com changes the way you +access their videos. After all, it is a simple and short +program. However, I can not guarantee anything. If you detect it stops +working, check for new versions and/or inform me about the problem, +indicating the program version you are using. My contact information +is at rg03.wordpress.com. If the program stops working and I can not +solve the problem but you have a solution, I would like to know +it. Furthermore, if you think you can maintain the program yourself, +tell me. + +Thanks for all the feedback received so far. I am glad people find my +program useful. + +AUTHORS: +* Ricardo Garcia Gonzalez: program core, YouTube.com InfoExtractor, +metacafe.com InfoExtractor and YouTube playlist InfoExtractor. +* Danny Colligan: YouTube search InfoExtractor, ideas and patches. +* Benjamin Johnson: Google Video InfoExtractor, Photobucket +InfoExtractor, Yahoo! Video InfoExtractor, generic InfoExtractor, +ideas, patches, etc. +* Vasyl' Vavrychuk: DepositFiles InfoExtractor, ideas and patches. +* Witold Baryluk: Dailymotion InfoExtractor. +* Paweł Paprota: YouTube user videos InfoExtractor. +* Gergely Imreh: Facebook InfoExtractor, ideas and patches. + +Many other people contributing patches, code, ideas and kind +messages. Too many to be listed here. You know who you are. Thank you +very much. +