from .InfoExtractors import gen_extractors
from .PostProcessor import *
-def parseOpts():
+def parseOpts(arguments):
def _readOptions(filename_bytes):
try:
optionf = open(filename_bytes)
help='display progress in console titlebar', default=False)
verbosity.add_option('-v', '--verbose',
action='store_true', dest='verbose', help='print various debugging information', default=False)
+ verbosity.add_option('--dump-intermediate-pages',
+ action='store_true', dest='dump_intermediate_pages', default=False,
+ help='print downloaded pages to debug problems(very verbose)')
filesystem.add_option('-t', '--title',
action='store_true', dest='usetitle', help='use title in file name', default=False)
help='number downloaded files starting from 00000', default=False)
filesystem.add_option('-o', '--output',
dest='outtmpl', metavar='TEMPLATE', help='output filename template. Use %(title)s to get the title, %(uploader)s for the uploader name, %(uploader_id)s for the uploader nickname if different, %(autonumber)s to get an automatically incremented number, %(ext)s for the filename extension, %(upload_date)s for the upload date (YYYYMMDD), %(extractor)s for the provider (youtube, metacafe, etc), %(id)s for the video id and %% for a literal percent. Use - to output to stdout. Can also be used to download to a different directory, for example with -o \'/my/downloads/%(uploader)s/%(title)s-%(id)s.%(ext)s\' .')
+ filesystem.add_option('--autonumber-size',
+ dest='autonumber_size', metavar='NUMBER',
+ help='Specifies the number of digits in %(autonumber)s when it is present in output filename template or --autonumber option is given')
filesystem.add_option('--restrict-filenames',
action='store_true', dest='restrictfilenames',
help='Restrict filenames to only ASCII characters, and avoid "&" and spaces in filenames', default=False)
userConfFile = os.path.join(os.path.expanduser('~'), '.config', 'youtube-dl.conf')
systemConf = _readOptions('/etc/youtube-dl.conf')
userConf = _readOptions(userConfFile)
- commandLineConf = sys.argv[1:]
- argv = systemConf + userConf + commandLineConf
+ commandLineConf = sys.argv[1:]
+ argv = (systemConf + userConf + commandLineConf) if not arguments else arguments
opts, args = parser.parse_args(argv)
if opts.verbose:
return parser, opts, args
-def _real_main():
- parser, opts, args = parseOpts()
+def _real_main(argv=None):
+ parser, opts, args = parseOpts(argv)
# Open appropriate CookieJar
if opts.cookiefile is None:
'format_limit': opts.format_limit,
'listformats': opts.listformats,
'outtmpl': outtmpl,
+ 'autonumber_size': opts.autonumber_size,
'restrictfilenames': opts.restrictfilenames,
'ignoreerrors': opts.ignoreerrors,
'ratelimit': opts.ratelimit,
'max_downloads': opts.max_downloads,
'prefer_free_formats': opts.prefer_free_formats,
'verbose': opts.verbose,
+ 'dump_intermediate_pages': opts.dump_intermediate_pages,
'test': opts.test,
'keepvideo': opts.keepvideo,
'min_filesize': opts.min_filesize,
sys.exit(retcode)
-def main():
+def main(argv=None):
try:
- _real_main()
+ _real_main(argv)
except DownloadError:
sys.exit(1)
except SameFileError: