]> asedeno.scripts.mit.edu Git - youtube-dl.git/commitdiff
Add -a (--batch-file) option
authorRicardo Garcia <sarbalap+freshmeat@gmail.com>
Sat, 31 Jan 2009 09:25:59 +0000 (10:25 +0100)
committerRicardo Garcia <sarbalap+freshmeat@gmail.com>
Sun, 31 Oct 2010 10:23:44 +0000 (11:23 +0100)
youtube-dl

index 2aa069c587bd5c15f831ca6a3e720f678c29d1c5..1894317b0e667b8200d2680083fc397033ff111d 100755 (executable)
@@ -889,10 +889,20 @@ if __name__ == '__main__':
                                action='store_true', dest='ignoreerrors', help='continue on download errors', default=False)
                parser.add_option('-r', '--rate-limit',
                                dest='ratelimit', metavar='L', help='download rate limit (e.g. 50k or 44.6m)')
+               parser.add_option('-a', '--batch-file',
+                               dest='batchfile', metavar='F', help='file containing URLs to download')
                (opts, args) = parser.parse_args()
 
+               # Batch file verification
+               if opts.batchfile is not None:
+                       try:
+                               batchurls = [line.strip() for line in open(opts.batchfile, 'r')]
+                       except IOError:
+                               sys.exit(u'ERROR: batch file could not be read')
+               all_urls = batchurls + args
+
                # Conflicting, missing and erroneous options
-               if len(args) < 1:
+               if len(all_urls) < 1:
                        sys.exit(u'ERROR: you must provide at least one URL')
                if opts.usenetrc and (opts.username is not None or opts.password is not None):
                        sys.exit(u'ERROR: using .netrc conflicts with giving username/password')
@@ -938,7 +948,7 @@ if __name__ == '__main__':
                fd.add_info_extractor(youtube_pl_ie)
                fd.add_info_extractor(metacafe_ie)
                fd.add_info_extractor(youtube_ie)
-               retcode = fd.download(args)
+               retcode = fd.download(all_urls)
                sys.exit(retcode)
 
        except DownloadError: