X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Foptions.py;h=5a2315bd96ce0c6abfdf4a8bea65aa68e6fa370b;hb=1c2223875664f99325b73fe7765677db9b87e105;hp=68193a27141ed8949bdfb69d81ce1a46422ac373;hpb=17941321ab0b3f9548d1f65e3f9d69e8cd01c0a3;p=youtube-dl diff --git a/youtube_dl/options.py b/youtube_dl/options.py index 68193a271..5a2315bd9 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -13,6 +13,7 @@ from .compat import ( compat_kwargs, ) from .utils import ( + preferredencoding, write_string, ) from .version import __version__ @@ -321,32 +322,7 @@ 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' - ' slashes, as in -f 22/17/18 . ' - ' Instead of format codes, you can select by extension for the ' - 'extensions aac, m4a, mp3, mp4, ogg, wav, webm. ' - 'You can also use the special names "best",' - ' "bestvideo", "bestaudio", "worst". ' - ' You can filter the video results by putting a condition in' - ' brackets, as in -f "best[height=720]"' - ' (or -f "[filesize>10M]"). ' - ' This works for filesize, height, width, tbr, abr, vbr, asr, and fps' - ' and the comparisons <, <=, >, >=, =, !=' - ' and for ext, acodec, vcodec, container, and protocol' - ' and the comparisons =, != .' - ' Formats for which the value is not known are excluded unless you' - ' put a question mark (?) after the operator.' - ' You can combine format filters, so ' - '-f "[height <=? 720][tbr>500]" ' - 'selects up to 720p videos (or videos where the height is not ' - 'known) with a bitrate of at least 500 KBit/s.' - ' By default, youtube-dl will pick the best quality.' - ' Use commas to download multiple audio formats, such as' - ' -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.')) + help='Video format code, see the "FORMAT SELECTION" for all the info') video_format.add_option( '--all-formats', action='store_const', dest='format', const='all', @@ -355,10 +331,6 @@ def parseOpts(overrideArguments=None): '--prefer-free-formats', action='store_true', dest='prefer_free_formats', default=False, help='Prefer free video formats unless a specific one is requested') - video_format.add_option( - '--max-quality', - action='store', dest='format_limit', metavar='FORMAT', - help='Specify highest quality format to download') video_format.add_option( '-F', '--list-formats', action='store_true', dest='listformats', @@ -398,7 +370,7 @@ def parseOpts(overrideArguments=None): subtitles.add_option( '--sub-format', action='store', dest='subtitlesformat', metavar='FORMAT', default='best', - help='Specify subtitle format preference, for example: "srt" or "ass/srt/best"') + help='Subtitle format, accepts formats preference, for example: "srt" or "ass/srt/best"') subtitles.add_option( '--sub-lang', '--sub-langs', '--srt-lang', action='callback', dest='subtitleslangs', metavar='LANGS', type='str', @@ -565,7 +537,7 @@ def parseOpts(overrideArguments=None): verbosity.add_option( '--dump-pages', '--dump-intermediate-pages', action='store_true', dest='dump_intermediate_pages', default=False, - help='Print downloaded pages to debug problems (very verbose)') + help='Print downloaded pages encoded using base64 to debug problems (very verbose)') verbosity.add_option( '--write-pages', action='store_true', dest='write_pages', default=False, @@ -605,7 +577,7 @@ def parseOpts(overrideArguments=None): '%(format)s for the format description (like "22 - 1280x720" or "HD"), ' '%(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), ' + '%(extractor)s for the provider (youtube, metacafe, etc), ' '%(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. ' @@ -625,7 +597,7 @@ def parseOpts(overrideArguments=None): filesystem.add_option( '-A', '--auto-number', action='store_true', dest='autonumber', default=False, - help='[deprecated; use -o "%(autonumber)s-%(title)s.%(ext)s" ] Number of downloaded files starting from 00000') + 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, @@ -665,11 +637,11 @@ def parseOpts(overrideArguments=None): filesystem.add_option( '--write-annotations', action='store_true', dest='writeannotations', default=False, - help='Write video annotations to a .annotation file') + help='Write video annotations to a .annotations.xml file') filesystem.add_option( '--load-info', dest='load_info_filename', metavar='FILE', - help='Specify JSON file containing the video information (created with the "--write-json" option)') + help='JSON file containing the video information (created with the "--write-info-json" option)') filesystem.add_option( '--cookies', dest='cookiefile', metavar='FILE', @@ -726,7 +698,7 @@ def parseOpts(overrideArguments=None): postproc.add_option( '--embed-subs', action='store_true', dest='embedsubtitles', default=False, - help='Embed subtitles in the video (only for mp4 videos)') + help='Embed subtitles in the video (only for mkv and mp4 videos)') postproc.add_option( '--embed-thumbnail', action='store_true', dest='embedthumbnail', default=False, @@ -741,7 +713,7 @@ def parseOpts(overrideArguments=None): help='Parse additional metadata like song title / artist from the video title. ' 'The format syntax is the same as --output, ' 'the parsed parameters replace existing values. ' - 'Additional templates: %(album), %(artist). ' + 'Additional templates: %(album)s, %(artist)s. ' 'Example: --metadata-from-title "%(artist)s - %(title)s" matches a title like ' '"Coldplay - Paradise"') postproc.add_option( @@ -793,21 +765,22 @@ def parseOpts(overrideArguments=None): if opts.verbose: write_string('[debug] Override config: ' + repr(overrideArguments) + '\n') else: - command_line_conf = sys.argv[1:] - # Workaround for Python 2.x, where argv is a byte list - if sys.version_info < (3,): - command_line_conf = [ - a.decode('utf-8', 'replace') for a in command_line_conf] + def compat_conf(conf): + if sys.version_info < (3,): + return [a.decode(preferredencoding(), 'replace') for a in conf] + return conf + + command_line_conf = compat_conf(sys.argv[1:]) if '--ignore-config' in command_line_conf: system_conf = [] user_conf = [] else: - system_conf = _readOptions('/etc/youtube-dl.conf') + system_conf = compat_conf(_readOptions('/etc/youtube-dl.conf')) if '--ignore-config' in system_conf: user_conf = [] else: - user_conf = _readUserConf() + user_conf = compat_conf(_readUserConf()) argv = system_conf + user_conf + command_line_conf opts, args = parser.parse_args(argv)