Do not read configuration files if explicit arguments are given by a host program (#792)

pull/2/head
Philipp Hagemeister 12 years ago
parent 4469666780
commit 75b5c590a8

@ -47,7 +47,7 @@ from .FileDownloader import *
from .InfoExtractors import gen_extractors from .InfoExtractors import gen_extractors
from .PostProcessor import * from .PostProcessor import *
def parseOpts(arguments): def parseOpts(overrideArguments=None):
def _readOptions(filename_bytes): def _readOptions(filename_bytes):
try: try:
optionf = open(filename_bytes) optionf = open(filename_bytes)
@ -300,6 +300,11 @@ def parseOpts(arguments):
parser.add_option_group(authentication) parser.add_option_group(authentication)
parser.add_option_group(postproc) parser.add_option_group(postproc)
if overrideArguments is not None:
opts, args = parser.parse_args(overrideArguments)
if opts.verbose:
print(u'[debug] Override config: ' + repr(overrideArguments))
else:
xdg_config_home = os.environ.get('XDG_CONFIG_HOME') xdg_config_home = os.environ.get('XDG_CONFIG_HOME')
if xdg_config_home: if xdg_config_home:
userConfFile = os.path.join(xdg_config_home, 'youtube-dl.conf') userConfFile = os.path.join(xdg_config_home, 'youtube-dl.conf')
@ -308,7 +313,7 @@ def parseOpts(arguments):
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) if not arguments else arguments argv = systemConf + userConf + commandLineConf
opts, args = parser.parse_args(argv) opts, args = parser.parse_args(argv)
if opts.verbose: if opts.verbose:

Loading…
Cancel
Save