X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Foptions.py;h=21c452141479a492f23c1f7f20a916c347f0a3a4;hb=0c0a70f4c6839903b326d7d9074e93235defaa5b;hp=cdcf2f62cd56c356597c9f0dc709164a3fe93f73;hpb=c2b61af54827373780415edce92b971b43ceead1;p=youtube-dl diff --git a/youtube_dl/options.py b/youtube_dl/options.py index cdcf2f62c..21c452141 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -8,6 +8,7 @@ import sys from .compat import ( compat_expanduser, compat_getenv, + compat_kwargs, ) from .utils import ( get_term_width, @@ -112,7 +113,7 @@ def parseOpts(overrideArguments=None): 'conflict_handler': 'resolve', } - parser = optparse.OptionParser(**kw) + parser = optparse.OptionParser(**compat_kwargs(kw)) general = optparse.OptionGroup(parser, 'General Options') general.add_option( @@ -162,7 +163,10 @@ def parseOpts(overrideArguments=None): general.add_option( '--ignore-config', action='store_true', - help='Do not read configuration files. When given in the global configuration file /etc/youtube-dl.conf: do not read the user configuration in ~/.config/youtube-dl.conf (%APPDATA%/youtube-dl/config.txt on Windows)') + help='Do not read configuration files. ' + 'When given in the global configuration file /etc/youtube-dl.conf: ' + 'Do not read the user configuration in ~/.config/youtube-dl/config ' + '(%APPDATA%/youtube-dl/config.txt on Windows)') general.add_option( '--flat-playlist', action='store_const', dest='extract_flat', const='in_playlist', @@ -221,7 +225,7 @@ def parseOpts(overrideArguments=None): selection.add_option( '--no-playlist', action='store_true', dest='noplaylist', default=False, - help='download only the currently playing video') + help='If the URL refers to a video and a playlist, download only the video.') selection.add_option( '--age-limit', metavar='YEARS', dest='age_limit', default=None, type=int, @@ -261,7 +265,8 @@ def parseOpts(overrideArguments=None): video_format.add_option( '-f', '--format', action='store', dest='format', metavar='FORMAT', default=None, - help='video format code, specify the order of preference using' + help=( + 'video format code, specify the order of preference using' ' slashes: -f 22/17/18 . -f mp4 , -f m4a and -f flv are also' ' supported. You can also use the special names "best",' ' "bestvideo", "bestaudio", "worst", "worstvideo" and' @@ -270,7 +275,7 @@ def parseOpts(overrideArguments=None): ' -f 136/137/mp4/bestvideo,140/m4a/bestaudio.' ' You can merge the video and audio of two formats into a single' ' file using -f + (requires ffmpeg or' - ' avconv), for example -f bestvideo+bestaudio.') + ' avconv), for example -f bestvideo+bestaudio.')) video_format.add_option( '--all-formats', action='store_const', dest='format', const='all', @@ -344,6 +349,10 @@ def parseOpts(overrideArguments=None): '--test', action='store_true', dest='test', default=False, help=optparse.SUPPRESS_HELP) + downloader.add_option( + '--playlist-reverse', + action='store_true', + help='Download playlist videos in reverse order') workarounds = optparse.OptionGroup(parser, 'Workarounds') workarounds.add_option( @@ -475,10 +484,6 @@ def parseOpts(overrideArguments=None): filesystem.add_option( '--id', default=False, action='store_true', dest='useid', help='use only video ID in file name') - filesystem.add_option( - '-A', '--auto-number', - action='store_true', dest='autonumber', default=False, - help='number downloaded files starting from 00000') filesystem.add_option( '-o', '--output', dest='outtmpl', metavar='TEMPLATE', @@ -490,10 +495,12 @@ def parseOpts(overrideArguments=None): '%(format_id)s for the unique id of the format (like Youtube\'s itags: "137"), ' '%(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. ' + '%(id)s for the video id, ' + '%(playlist_title)s, %(playlist_id)s, or %(playlist)s (=title if present, ID otherwise) for the playlist the video is in, ' + '%(playlist_index)s for the position in the playlist. ' '%(height)s and %(width)s for the width and height of the video format. ' '%(resolution)s for a textual description of the resolution of the video format. ' + '%% 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( @@ -504,6 +511,10 @@ def parseOpts(overrideArguments=None): '--restrict-filenames', action='store_true', dest='restrictfilenames', default=False, help='Restrict filenames to only ASCII characters, and avoid "&" and spaces in filenames') + filesystem.add_option( + '-A', '--auto-number', + action='store_true', dest='autonumber', default=False, + help='[deprecated; use -o "%(autonumber)s-%(title)s.%(ext)s" ] number downloaded files starting from 00000') filesystem.add_option( '-t', '--title', action='store_true', dest='usetitle', default=False, @@ -618,7 +629,7 @@ def parseOpts(overrideArguments=None): postproc.add_option( '--exec', metavar='CMD', dest='exec_cmd', - help='Execute a command on the file after downloading, similar to find\'s -exec syntax. Example: --exec \'adb push {} /sdcard/Music/ && rm {}\'' ) + help='Execute a command on the file after downloading, similar to find\'s -exec syntax. Example: --exec \'adb push {} /sdcard/Music/ && rm {}\'') parser.add_option_group(general) parser.add_option_group(selection)