aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2018-05-10 15:29:29 +1200
committerAldo Cortesi <aldo@nullcube.com>2018-05-10 16:06:52 +1200
commit8c63a8818d6e66c5b1e32e30d785d8d4a3bc233c (patch)
tree340375b07b4ce7de5e4b4c2d0c98fa4d18edee21 /mitmproxy
parent9830e5b597ffbfae1781eb486c8cd8b0ba3c5dc7 (diff)
downloadmitmproxy-8c63a8818d6e66c5b1e32e30d785d8d4a3bc233c.tar.gz
mitmproxy-8c63a8818d6e66c5b1e32e30d785d8d4a3bc233c.tar.bz2
mitmproxy-8c63a8818d6e66c5b1e32e30d785d8d4a3bc233c.zip
keymap: read keys from CONFDIR/keys.yaml by default
Diffstat (limited to 'mitmproxy')
-rw-r--r--mitmproxy/tools/console/keymap.py15
-rw-r--r--mitmproxy/tools/console/master.py1
2 files changed, 13 insertions, 3 deletions
diff --git a/mitmproxy/tools/console/keymap.py b/mitmproxy/tools/console/keymap.py
index 5f7cdb11..6a900527 100644
--- a/mitmproxy/tools/console/keymap.py
+++ b/mitmproxy/tools/console/keymap.py
@@ -163,16 +163,25 @@ requiredKeyAttrs = set(["key", "cmd"])
class KeymapConfig:
+ defaultFile = "keys.yaml"
+
@command.command("console.keymap.load")
def keymap_load_path(self, path: mitmproxy.types.Path) -> None:
try:
- master = ctx.master # type: mitmproxy.tools.console.master.ConsoleMaster
- self.load_path(master.keymap, path)
+ self.load_path(ctx.master.keymap, path) # type: ignore
except (OSError, KeyBindingError) as e:
raise exceptions.CommandError(
"Could not load key bindings - %s" % e
) from e
+ def running(self):
+ p = os.path.join(os.path.expanduser(ctx.options.confdir), self.defaultFile)
+ if os.path.exists(p):
+ try:
+ self.load_path(ctx.master.keymap, p)
+ except KeyBindingError as e:
+ ctx.log.error(e)
+
def load_path(self, km, p):
if os.path.exists(p) and os.path.isfile(p):
with open(p, "rt", encoding="utf8") as f:
@@ -193,7 +202,7 @@ class KeymapConfig:
km.add(
key = v["key"],
command = v["cmd"],
- contexts = v.get("ctx", None),
+ contexts = v.get("ctx", ["global"]),
help = v.get("help", None),
)
except ValueError as e:
diff --git a/mitmproxy/tools/console/master.py b/mitmproxy/tools/console/master.py
index c13bff27..1bc79e5c 100644
--- a/mitmproxy/tools/console/master.py
+++ b/mitmproxy/tools/console/master.py
@@ -56,6 +56,7 @@ class ConsoleMaster(master.Master):
consoleaddons.UnsupportedLog(),
readfile.ReadFile(),
consoleaddons.ConsoleAddon(self),
+ keymap.KeymapConfig(),
)
def sigint_handler(*args, **kwargs):