MCPcopy
hub / github.com/bugy/script-server / build_command_args

Function build_command_args

src/execution/executor.py:189–241  ·  view source on GitHub ↗
(param_values, config)

Source from the content-addressed store, hash-verified

187
188
189def build_command_args(param_values, config):
190 result = []
191
192 for parameter in config.parameters:
193 name = parameter.name
194 option_name = parameter.param
195
196 if not parameter.pass_as.pass_as_argument():
197 continue
198
199 if name in param_values:
200 value = param_values[name]
201
202 if parameter.no_value:
203 if value is True and option_name:
204 result.append(option_name)
205
206 elif value:
207
208 if option_name:
209 if isinstance(value, list):
210 if len(value) == 0:
211 continue
212
213 if parameter.multiselect_argument_type == 'argument_per_value':
214 if parameter.same_arg_param:
215 result.append(option_name + str(value[0]))
216 result.extend(value[1:])
217 else:
218 result.append(option_name)
219 result.extend(value)
220 elif parameter.multiselect_argument_type == 'repeat_param_value':
221 if parameter.same_arg_param:
222 for el in value:
223 result.append(option_name + str(el))
224 else:
225 for el in value:
226 result.append(option_name)
227 result.append(el)
228 else:
229 if parameter.same_arg_param:
230 result.append(option_name + str(value))
231 else:
232 result.append(option_name)
233 result.append(value)
234
235 else:
236 if isinstance(value, list):
237 result.extend(value)
238 else:
239 result.append(value)
240
241 return result
242
243
244def _to_env_name(key):

Callers 2

startMethod · 0.85
get_secure_commandMethod · 0.85

Calls 3

pass_as_argumentMethod · 0.80
appendMethod · 0.80
extendMethod · 0.80

Tested by

no test coverage detected