X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2F__init__.py;h=8ec7435ca908adb5545bd3b076e051cc7c553a39;hb=44696667805343a2f60bdec25d8ab9ed90b5963c;hp=807b735412a674bb4d2098a2a057c0e91266ad68;hpb=cfa90f4adce8b5e7faf92d0a08abe38630b150b8;p=youtube-dl diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 807b73541..8ec7435ca 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -24,6 +24,7 @@ __authors__ = ( 'Jaime Marquínez Ferrándiz', 'Jeff Crouse', 'Osama Khalid', + 'Michael Walter', ) __license__ = 'Public Domain' @@ -46,7 +47,7 @@ from .FileDownloader import * from .InfoExtractors import gen_extractors from .PostProcessor import * -def parseOpts(): +def parseOpts(arguments): def _readOptions(filename_bytes): try: optionf = open(filename_bytes) @@ -223,6 +224,9 @@ def parseOpts(): 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) @@ -234,7 +238,19 @@ def parseOpts(): action='store_true', dest='autonumber', 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\' .') + 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 , %(playlist)s for the playlist the video is in, ' + '%(playlist_index)s for the position in the playlist 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) @@ -291,8 +307,8 @@ def parseOpts(): 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: @@ -302,8 +318,8 @@ def parseOpts(): 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: @@ -451,6 +467,7 @@ def _real_main(): 'format_limit': opts.format_limit, 'listformats': opts.listformats, 'outtmpl': outtmpl, + 'autonumber_size': opts.autonumber_size, 'restrictfilenames': opts.restrictfilenames, 'ignoreerrors': opts.ignoreerrors, 'ratelimit': opts.ratelimit, @@ -480,6 +497,7 @@ def _real_main(): '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, @@ -535,9 +553,9 @@ def _real_main(): sys.exit(retcode) -def main(): +def main(argv=None): try: - _real_main() + _real_main(argv) except DownloadError: sys.exit(1) except SameFileError: