diff options
author | Maximilian Hils <git@maximilianhils.com> | 2017-12-17 18:46:00 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2017-12-29 23:20:03 +0100 |
commit | 465044c3731ac0077387f1cbb39ae4f90d3f06c8 (patch) | |
tree | 110040af7f55f97865c1fa41ac54a8ac4bf324ba /mitmproxy/command.py | |
parent | 5661b40942d0ddcac14a2eb3e8a9ff30b7eaca06 (diff) | |
download | mitmproxy-465044c3731ac0077387f1cbb39ae4f90d3f06c8.tar.gz mitmproxy-465044c3731ac0077387f1cbb39ae4f90d3f06c8.tar.bz2 mitmproxy-465044c3731ac0077387f1cbb39ae4f90d3f06c8.zip |
test that defaultkeys are valid commands
Diffstat (limited to 'mitmproxy/command.py')
-rw-r--r-- | mitmproxy/command.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/mitmproxy/command.py b/mitmproxy/command.py index e1e56d3a..7bb2bf8e 100644 --- a/mitmproxy/command.py +++ b/mitmproxy/command.py @@ -76,11 +76,7 @@ class Command: ret = " -> " + ret return "%s %s%s" % (self.path, params, ret) - def call(self, args: typing.Sequence[str]) -> typing.Any: - """ - Call the command with a list of arguments. At this point, all - arguments are strings. - """ + def prepare_args(self, args: typing.Sequence[str]) -> typing.List[typing.Any]: verify_arg_signature(self.func, list(args), {}) remainder = [] # type: typing.Sequence[str] @@ -92,6 +88,14 @@ class Command: for arg, paramtype in zip(args, self.paramtypes): pargs.append(parsearg(self.manager, arg, paramtype)) pargs.extend(remainder) + return pargs + + def call(self, args: typing.Sequence[str]) -> typing.Any: + """ + Call the command with a list of arguments. At this point, all + arguments are strings. + """ + pargs = self.prepare_args(args) with self.manager.master.handlecontext(): ret = self.func(*pargs) @@ -121,7 +125,7 @@ ParseResult = typing.NamedTuple( class CommandManager(mitmproxy.types._CommandBase): def __init__(self, master): self.master = master - self.commands = {} + self.commands = {} # type: typing.Dict[str, Command] def collect_commands(self, addon): for i in dir(addon): |