selection = optparse.OptionGroup(parser, 'Video Selection')
authentication = optparse.OptionGroup(parser, 'Authentication Options')
video_format = optparse.OptionGroup(parser, 'Video Format Options')
+ subtitles = optparse.OptionGroup(parser, 'Subtitle Options')
downloader = optparse.OptionGroup(parser, 'Download Options')
postproc = optparse.OptionGroup(parser, 'Post-processing Options')
filesystem = optparse.OptionGroup(parser, 'Filesystem Options')
general.add_option('-v', '--version',
action='version', help='print program version and exit')
general.add_option('-U', '--update',
- action='store_true', dest='update_self', help='update this program to latest version')
+ action='store_true', dest='update_self', help='update this program to latest version. Make sure that you have sufficient permissions (run with sudo if needed)')
general.add_option('-i', '--ignore-errors',
action='store_true', dest='ignoreerrors', help='continue on download errors', default=False)
general.add_option('--dump-user-agent',
action='store', dest='format_limit', metavar='FORMAT', help='highest quality format to download')
video_format.add_option('-F', '--list-formats',
action='store_true', dest='listformats', help='list all available formats (currently youtube only)')
- video_format.add_option('--write-sub', '--write-srt',
+
+ subtitles.add_option('--write-sub', '--write-srt',
action='store_true', dest='writesubtitles',
- help='write subtitle file (currently youtube only)', default=False)
- video_format.add_option('--write-auto-sub', '--write-automatic-sub',
+ help='write subtitle file', default=False)
+ subtitles.add_option('--write-auto-sub', '--write-automatic-sub',
action='store_true', dest='writeautomaticsub',
- help='write automatic subtitle file (currently youtube only)', default=False)
- video_format.add_option('--only-sub',
+ help='write automatic subtitle file (youtube only)', default=False)
+ subtitles.add_option('--only-sub',
action='store_true', dest='skip_download',
help='[deprecated] alias of --skip-download', default=False)
- video_format.add_option('--all-subs',
+ subtitles.add_option('--all-subs',
action='store_true', dest='allsubtitles',
- help='downloads all the available subtitles of the video (currently youtube only)', default=False)
- video_format.add_option('--list-subs',
+ help='downloads all the available subtitles of the video', default=False)
+ subtitles.add_option('--list-subs',
action='store_true', dest='listsubtitles',
- help='lists all available subtitles for the video (currently youtube only)', default=False)
- video_format.add_option('--sub-format',
+ help='lists all available subtitles for the video', default=False)
+ subtitles.add_option('--sub-format',
action='store', dest='subtitlesformat', metavar='FORMAT',
- help='subtitle format [srt/sbv/vtt] (default=srt) (currently youtube only)', default='srt')
- video_format.add_option('--sub-lang', '--srt-lang',
+ help='subtitle format (default=srt) ([sbv/vtt] youtube only)', default='srt')
+ subtitles.add_option('--sub-lang', '--srt-lang',
action='store', dest='subtitleslang', metavar='LANG',
help='language of the subtitles to download (optional) use IETF language tags like \'en\'')
parser.add_option_group(filesystem)
parser.add_option_group(verbosity)
parser.add_option_group(video_format)
+ parser.add_option_group(subtitles)
parser.add_option_group(authentication)
parser.add_option_group(postproc)
})
if opts.verbose:
- ydl.to_screen(u'[debug] youtube-dl version ' + __version__)
+ sys.stderr.write(u'[debug] youtube-dl version ' + __version__ + u'\n')
try:
sp = subprocess.Popen(
['git', 'rev-parse', '--short', 'HEAD'],
out, err = sp.communicate()
out = out.decode().strip()
if re.match('[0-9a-f]+', out):
- ydl.to_screen(u'[debug] Git HEAD: ' + out)
+ sys.stderr.write(u'[debug] Git HEAD: ' + out + u'\n')
except:
- pass
- ydl.to_screen(u'[debug] Python version %s - %s' %(platform.python_version(), platform.platform()))
- ydl.to_screen(u'[debug] Proxy map: ' + str(proxy_handler.proxies))
+ try:
+ sys.exc_clear()
+ except:
+ pass
+ sys.stderr.write(u'[debug] Python version %s - %s' %(platform.python_version(), platform.platform()) + u'\n')
+ sys.stderr.write(u'[debug] Proxy map: ' + str(proxy_handler.proxies) + u'\n')
ydl.add_default_info_extractors()