New IE: YouTube channels (closes #396)
[youtube-dl] / youtube_dl / __init__.py
index 3b3a9a4f494d099c1a00d00900f83549d379e65c..a52d69a306fa7b75f2e4ce9f0d2224443a7c8570 100644 (file)
@@ -19,7 +19,7 @@ __authors__  = (
        )
 
 __license__ = 'Public Domain'
-__version__ = '2012.09.27'
+__version__ = '2012.10.09'
 
 UPDATE_URL = 'https://raw.github.com/rg3/youtube-dl/master/youtube-dl'
 UPDATE_URL_VERSION = 'https://raw.github.com/rg3/youtube-dl/master/LATEST_VERSION'
@@ -186,18 +186,18 @@ def parseOpts():
        general.add_option('-r', '--rate-limit',
                        dest='ratelimit', metavar='LIMIT', help='download rate limit (e.g. 50k or 44.6m)')
        general.add_option('-R', '--retries',
-                       dest='retries', metavar='RETRIES', help='number of retries (default is 10)', default=10)
+                       dest='retries', metavar='RETRIES', help='number of retries (default is %default)', default=10)
        general.add_option('--dump-user-agent',
                        action='store_true', dest='dump_user_agent',
                        help='display the current browser identification', default=False)
        general.add_option('--user-agent',
-                       action='store', dest='useragent', help='specify a custom user agent')
+                       dest='user_agent', help='specify a custom user agent', metavar='UA')
        general.add_option('--list-extractors',
                        action='store_true', dest='list_extractors',
                        help='List all supported extractors and the URLs they would handle', default=False)
 
        selection.add_option('--playlist-start',
-                       dest='playliststart', metavar='NUMBER', help='playlist video to start at (default is 1)', default=1)
+                       dest='playliststart', metavar='NUMBER', help='playlist video to start at (default is %default)', default=1)
        selection.add_option('--playlist-end',
                        dest='playlistend', metavar='NUMBER', help='playlist video to end at (default is last)', default=-1)
        selection.add_option('--match-title', dest='matchtitle', metavar='REGEX',help='download only matching titles (regex or caseless sub-string)')
@@ -269,7 +269,7 @@ 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 %(stitle)s to get the title, %(uploader)s for the uploader name, %(autonumber)s to get an automatically incremented number, %(ext)s for the filename extension, %(upload_date)s for the upload date (YYYYMMDD), and %% for a literal percent. Use - to output to stdout.')
+                       dest='outtmpl', metavar='TEMPLATE', help='output filename template. Use %(stitle)s to get the title, %(uploader)s for the uploader name, %(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.')
        filesystem.add_option('-a', '--batch-file',
                        dest='batchfile', metavar='FILE', help='file containing URLs to download (\'-\' for stdin)')
        filesystem.add_option('-w', '--no-overwrites',
@@ -328,6 +328,7 @@ def gen_extractors():
        """
        return [
                YoutubePlaylistIE(),
+               YoutubeChannelIE(),
                YoutubeUserIE(),
                YoutubeSearchIE(),
                YoutubeIE(),
@@ -355,6 +356,7 @@ def gen_extractors():
                MTVIE(),
                YoukuIE(),
                XNXXIE(),
+               GooglePlusIE(),
 
                GenericIE()
        ]
@@ -373,9 +375,9 @@ def _real_main():
                except (IOError, OSError), err:
                        sys.exit(u'ERROR: unable to open cookie file')
        # Set user agent
-       if opts.useragent is not None:
-               std_headers['User-Agent'] = opts.useragent
-               
+       if opts.user_agent is not None:
+               std_headers['User-Agent'] = opts.user_agent
+
        # Dump user agent
        if opts.dump_user_agent:
                print std_headers['User-Agent']