MCPcopy
hub / github.com/mitmproxy/mitmproxy / prepare_args

Method prepare_args

mitmproxy/command.py:117–141  ·  view source on GitHub ↗
(self, args: Sequence[str])

Source from the content-addressed store, hash-verified

115 return f"{self.name} {params}{ret}"
116
117 def prepare_args(self, args: Sequence[str]) -> inspect.BoundArguments:
118 try:
119 bound_arguments = self.signature.bind(*args)
120 except TypeError:
121 expected = f"Expected: {self.signature.parameters}"
122 received = f"Received: {args}"
123 raise exceptions.CommandError(
124 f"Command argument mismatch: \n {expected}\n {received}"
125 )
126
127 for name, value in bound_arguments.arguments.items():
128 param = self.signature.parameters[name]
129 convert_to = param.annotation
130 if param.kind == param.VAR_POSITIONAL:
131 bound_arguments.arguments[name] = tuple(
132 parsearg(self.manager, x, convert_to) for x in value
133 )
134 else:
135 bound_arguments.arguments[name] = parsearg(
136 self.manager, value, convert_to
137 )
138
139 bound_arguments.apply_defaults()
140
141 return bound_arguments
142
143 def call(self, args: Sequence[str]) -> Any:
144 """

Callers 2

callMethod · 0.95
test_commands_existFunction · 0.80

Calls 3

parseargFunction · 0.85
bindMethod · 0.80
itemsMethod · 0.45

Tested by 1

test_commands_existFunction · 0.64