cmdline: --conf -> --confdir, which specifies the config directory, not the yaml options file

This is a much more sensible behaviour for the flag.
This commit is contained in:
Aldo Cortesi 2018-05-10 17:28:56 +12:00
parent 1f02354196
commit be27bde4d4
3 changed files with 12 additions and 8 deletions

View File

@ -9,6 +9,8 @@
* Configure mitmproxy console keybindings with the keys.yaml file. See docs for more. * Configure mitmproxy console keybindings with the keys.yaml file. See docs for more.
** Breaking Changes ** ** Breaking Changes **
* The --conf command-line flag is now --confdir, and specifies the mitmproxy configuration
directory, instead of the options yaml file (which is at `config.yaml` under the configuration directory).
* `allow_remote` got replaced by `block_global` and `block_private` (#3100) * `allow_remote` got replaced by `block_global` and `block_private` (#3100)
* No more custom events (#3093) * No more custom events (#3093)
* The `cadir` option has been renamed to `confdir` * The `cadir` option has been renamed to `confdir`

View File

@ -1,12 +1,8 @@
import argparse import argparse
import os
from mitmproxy.addons import core from mitmproxy.addons import core
CONFIG_PATH = os.path.join(core.CONF_DIR, "config.yaml")
def common_options(parser, opts): def common_options(parser, opts):
parser.add_argument( parser.add_argument(
'--version', '--version',
@ -25,10 +21,10 @@ def common_options(parser, opts):
help="Show all commands and their signatures", help="Show all commands and their signatures",
) )
parser.add_argument( parser.add_argument(
"--conf", "--confdir",
type=str, dest="conf", default=CONFIG_PATH, type=str, dest="confdir", default=core.CONF_DIR,
metavar="PATH", metavar="PATH",
help="Read options from a configuration file" help="Path to the mitmproxy config directory"
) )
parser.add_argument( parser.add_argument(
"--set", "--set",

View File

@ -23,6 +23,8 @@ from mitmproxy import proxy # noqa
from mitmproxy import log # noqa from mitmproxy import log # noqa
from mitmproxy.utils import debug, arg_check # noqa from mitmproxy.utils import debug, arg_check # noqa
OPTIONS_FILE_NAME = "config.yaml"
def assert_utf8_env(): def assert_utf8_env():
spec = "" spec = ""
@ -90,7 +92,11 @@ def run(
arg_check.check() arg_check.check()
sys.exit(1) sys.exit(1)
try: try:
unknown = optmanager.load_paths(opts, args.conf) opts.confdir = args.confdir
unknown = optmanager.load_paths(
opts,
os.path.join(opts.confdir, OPTIONS_FILE_NAME),
)
pconf = process_options(parser, opts, args) pconf = process_options(parser, opts, args)
server: typing.Any = None server: typing.Any = None
if pconf.options.server: if pconf.options.server: