Merge pull request #792 from fp7/master
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Mon, 22 Apr 2013 20:44:05 +0000 (13:44 -0700)
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Mon, 22 Apr 2013 20:44:05 +0000 (13:44 -0700)
Parameters as arguments to main

1  2 
youtube_dl/__init__.py

diff --combined youtube_dl/__init__.py
index bac359ac757f1afb9045a29da83fa81491cecdff,87d3f222aac4c1672cabb20024663a157aed3566..8ec7435ca908adb5545bd3b076e051cc7c553a39
@@@ -47,7 -47,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)
              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')
          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:
  
      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:
  
      sys.exit(retcode)
  
- def main():
+ def main(argv=None):
      try:
-         _real_main()
+         _real_main(argv)
      except DownloadError:
          sys.exit(1)
      except SameFileError: