diff options
author | Fabian Stahl <fabian.m.stahl@posteo.de> | 2016-09-14 17:28:17 +0200 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-12-31 23:04:16 +0700 |
commit | e66dca5e4aa9e55762a5541dc1b0a332208451ee (patch) | |
tree | a608e0325bc5e9532cf2f7e94cc829ff5cafb36d | |
parent | 3f1ce16876931f2aa57b566736d875a760f35f43 (diff) |
Add option --config-location
A configfile can now be passed to youtube_dl.
undo changes
Raise parser error if file not found, change to user_conf
change metavar hand helptext for --configfile
Fix help for --configfile
Update help for --configfile
Numbering placeholder in configfile error msg
minor fix
Change option --configfile top --config-file
Fix -config-file error
-rw-r--r-- | youtube_dl/__init__.py | 1 | ||||
-rw-r--r-- | youtube_dl/options.py | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 6850d95e1..1b459a706 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -405,6 +405,7 @@ def _real_main(argv=None): 'postprocessor_args': postprocessor_args, 'cn_verification_proxy': opts.cn_verification_proxy, 'geo_verification_proxy': opts.geo_verification_proxy, + 'configfile': opts.configfile, } diff --git a/youtube_dl/options.py b/youtube_dl/options.py index 4144454e5..4941abe83 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -179,6 +179,10 @@ def parseOpts(overrideArguments=None): 'Do not read the user configuration in ~/.config/youtube-dl/config ' '(%APPDATA%/youtube-dl/config.txt on Windows)') general.add_option( + '--config-file', + dest='configfile', metavar='FILE', + help='File to read configuration from.') + general.add_option( '--flat-playlist', action='store_const', dest='extract_flat', const='in_playlist', default=False, @@ -845,19 +849,29 @@ def parseOpts(overrideArguments=None): return conf command_line_conf = compat_conf(sys.argv[1:]) + opts, args = parser.parse_args(command_line_conf) if '--ignore-config' in command_line_conf: system_conf = [] user_conf = [] + elif '--config-file' in command_line_conf: + if not os.path.isfile(opts.configfile): + parser.error('Config file {0} not found.'.format(opts.configfile)) + else: + user_conf = _readOptions(opts.configfile) + system_conf = [] + else: system_conf = _readOptions('/etc/youtube-dl.conf') if '--ignore-config' in system_conf: user_conf = [] else: user_conf = _readUserConf() + argv = system_conf + user_conf + command_line_conf opts, args = parser.parse_args(argv) + if opts.verbose: write_string('[debug] System config: ' + repr(_hide_login_info(system_conf)) + '\n') write_string('[debug] User config: ' + repr(_hide_login_info(user_conf)) + '\n') |