summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Garcia <sarbalap+freshmeat@gmail.com>2009-01-31 10:25:59 +0100
committerRicardo Garcia <sarbalap+freshmeat@gmail.com>2010-10-31 11:23:44 +0100
commitc6fd0bb80680d09eca54a3a428a47e3205d0180f (patch)
tree9e86f5398255ed9f4cada5072ba1851af29ff2fb
parent72ac78b8b0d33092ff531077fe5c2ef7f7422df5 (diff)
downloadyoutube-dl-c6fd0bb80680d09eca54a3a428a47e3205d0180f.tar.gz
youtube-dl-c6fd0bb80680d09eca54a3a428a47e3205d0180f.tar.xz
youtube-dl-c6fd0bb80680d09eca54a3a428a47e3205d0180f.zip
Add -a (--batch-file) option
-rwxr-xr-xyoutube-dl14
1 files changed, 12 insertions, 2 deletions
diff --git a/youtube-dl b/youtube-dl
index 2aa069c58..1894317b0 100755
--- a/youtube-dl
+++ b/youtube-dl
@@ -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: