aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2017-06-13 09:47:50 +1200
committerAldo Cortesi <aldo@corte.si>2017-06-13 09:47:50 +1200
commit0fc24857e1786973b56a40afef8e64abffbf1c98 (patch)
tree22a8d84c0642f33e928741f96e4e8cc91ef5ba32
parentd95f28e6bf581c65a06d410137160a50e584dbfd (diff)
downloadmitmproxy-0fc24857e1786973b56a40afef8e64abffbf1c98.tar.gz
mitmproxy-0fc24857e1786973b56a40afef8e64abffbf1c98.tar.bz2
mitmproxy-0fc24857e1786973b56a40afef8e64abffbf1c98.zip
core: set command can now take multiple values
These are joined together with spaces before execution. This is a big convenience boost on the command-prompt.
-rw-r--r--mitmproxy/addons/core.py6
-rw-r--r--mitmproxy/tools/console/master.py2
2 files changed, 5 insertions, 3 deletions
diff --git a/mitmproxy/addons/core.py b/mitmproxy/addons/core.py
index 426c47ad..d75949bc 100644
--- a/mitmproxy/addons/core.py
+++ b/mitmproxy/addons/core.py
@@ -10,13 +10,15 @@ from mitmproxy.net.http import status_codes
class Core:
@command.command("set")
- def set(self, spec: str) -> None:
+ def set(self, *spec: typing.Sequence[str]) -> None:
"""
Set an option of the form "key[=value]". When the value is omitted,
booleans are set to true, strings and integers are set to None (if
permitted), and sequences are emptied. Boolean values can be true,
- false or toggle.
+ false or toggle. If multiple specs are passed, they are joined
+ into one separated by spaces.
"""
+ spec = " ".join(spec)
try:
ctx.options.set(spec)
except exceptions.OptionsError as e:
diff --git a/mitmproxy/tools/console/master.py b/mitmproxy/tools/console/master.py
index ce4e4d9d..92e8b7a2 100644
--- a/mitmproxy/tools/console/master.py
+++ b/mitmproxy/tools/console/master.py
@@ -238,7 +238,7 @@ class ConsoleAddon:
"""
Prompt the user to edit a command with a (possilby empty) starting value.
"""
- signals.status_prompt_command.send(partial=" ".join(partial) + " ") # type: ignore
+ signals.status_prompt_command.send(partial=" ".join(partial)) # type: ignore
@command.command("console.view.commands")
def view_commands(self) -> None: