Arguments as parameter to function _real_main so it can be used programmatically

This commit is contained in:
Finn Petersen 2013-04-16 19:26:48 +02:00
parent b625bc2c31
commit b8ad4f02a2

View File

@ -47,7 +47,7 @@
from .InfoExtractors import gen_extractors from .InfoExtractors import gen_extractors
from .PostProcessor import * from .PostProcessor import *
def parseOpts(): def parseOpts(arguments):
def _readOptions(filename_bytes): def _readOptions(filename_bytes):
try: try:
optionf = open(filename_bytes) optionf = open(filename_bytes)
@ -298,8 +298,8 @@ def _find_term_columns():
userConfFile = os.path.join(os.path.expanduser('~'), '.config', 'youtube-dl.conf') userConfFile = os.path.join(os.path.expanduser('~'), '.config', 'youtube-dl.conf')
systemConf = _readOptions('/etc/youtube-dl.conf') systemConf = _readOptions('/etc/youtube-dl.conf')
userConf = _readOptions(userConfFile) userConf = _readOptions(userConfFile)
commandLineConf = sys.argv[1:] commandLineConf = sys.argv[1:]
argv = systemConf + userConf + commandLineConf argv = systemConf + userConf + commandLineConf if not arguments else arguments
opts, args = parser.parse_args(argv) opts, args = parser.parse_args(argv)
if opts.verbose: if opts.verbose:
@ -309,8 +309,8 @@ def _find_term_columns():
return parser, opts, args return parser, opts, args
def _real_main(): def _real_main(argv=None):
parser, opts, args = parseOpts() parser, opts, args = parseOpts(argv)
# Open appropriate CookieJar # Open appropriate CookieJar
if opts.cookiefile is None: if opts.cookiefile is None:
@ -544,9 +544,9 @@ def _real_main():
sys.exit(retcode) sys.exit(retcode)
def main(): def main(argv=None):
try: try:
_real_main() _real_main(argv)
except DownloadError: except DownloadError:
sys.exit(1) sys.exit(1)
except SameFileError: except SameFileError: