aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/command.py
diff options
context:
space:
mode:
authorHenrique <typoon@gmail.com>2019-11-16 17:01:47 -0500
committerHenrique <typoon@gmail.com>2019-11-16 17:01:47 -0500
commit7779eef572e8deeae895ea6d700265e6f9b432c8 (patch)
tree76763b3f6c98629d94376a12887608aef6a8f151 /mitmproxy/command.py
parent373cc945c0fb15d0713166019ae0132f07c469e2 (diff)
downloadmitmproxy-7779eef572e8deeae895ea6d700265e6f9b432c8.tar.gz
mitmproxy-7779eef572e8deeae895ea6d700265e6f9b432c8.tar.bz2
mitmproxy-7779eef572e8deeae895ea6d700265e6f9b432c8.zip
Various changes to address PR comments
Made a change to make `CommandManager.execute` the main entry point for executing commands and made `call_strings` into a private method.
Diffstat (limited to 'mitmproxy/command.py')
-rw-r--r--mitmproxy/command.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/mitmproxy/command.py b/mitmproxy/command.py
index 32a9c9c1..609e288c 100644
--- a/mitmproxy/command.py
+++ b/mitmproxy/command.py
@@ -128,10 +128,10 @@ class CommandManager(mitmproxy.types._CommandBase):
self.commands: typing.Dict[str, Command] = {}
self.regex = pyparsing.QuotedString("\"", escChar='\\', unquoteResults=False) |\
- pyparsing.QuotedString("'", escChar='\\', unquoteResults=False) |\
- pyparsing.Combine(pyparsing.Literal('"') + pyparsing.Word(pyparsing.printables + " ") + pyparsing.StringEnd()) |\
- pyparsing.Word(pyparsing.printables) |\
- pyparsing.Word(" \r\n\t")
+ pyparsing.QuotedString("'", escChar='\\', unquoteResults=False) |\
+ pyparsing.Combine(pyparsing.Literal('"') + pyparsing.Word(pyparsing.printables + " ") + pyparsing.StringEnd()) |\
+ pyparsing.Word(pyparsing.printables) |\
+ pyparsing.Word(" \r\n\t")
self.regex = self.regex.leaveWhitespace()
def collect_commands(self, addon):
@@ -220,7 +220,7 @@ class CommandManager(mitmproxy.types._CommandBase):
raise exceptions.CommandError("Unknown command: %s" % path)
return self.commands[path].func(*args)
- def call_strings(self, path: str, args: typing.Sequence[str]) -> typing.Any:
+ def _call_strings(self, path: str, args: typing.Sequence[str]) -> typing.Any:
"""
Call a command using a list of string arguments. May raise CommandError.
"""
@@ -236,12 +236,13 @@ class CommandManager(mitmproxy.types._CommandBase):
parts, _ = self.parse_partial(cmdstr)
params = []
for p in parts:
- params.append(p.value)
+ if p.value.strip() != '':
+ params.append(p.value)
if len(parts) == 0:
raise exceptions.CommandError("Invalid command: %s" % cmdstr)
- return self.call_strings(params[0], params[1:])
+ return self._call_strings(params[0], params[1:])
def dump(self, out=sys.stdout) -> None:
cmds = list(self.commands.values())