diff options
author | Henrique <typoon@gmail.com> | 2019-11-16 17:01:47 -0500 |
---|---|---|
committer | Henrique <typoon@gmail.com> | 2019-11-16 17:01:47 -0500 |
commit | 7779eef572e8deeae895ea6d700265e6f9b432c8 (patch) | |
tree | 76763b3f6c98629d94376a12887608aef6a8f151 /mitmproxy/command.py | |
parent | 373cc945c0fb15d0713166019ae0132f07c469e2 (diff) | |
download | mitmproxy-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.py | 15 |
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()) |