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

Function _build_env_variables

src/execution/executor.py:253–291  ·  view source on GitHub ↗
(parameter_values, parameters: List[ParameterModel], execution_id)

Source from the content-addressed store, hash-verified

251
252
253def _build_env_variables(parameter_values, parameters: List[ParameterModel], execution_id):
254 result = {}
255 excluded = []
256 for param_name, value in parameter_values.items():
257 if isinstance(value, list) or (value is None):
258 continue
259
260 found_parameters = [p for p in parameters if p.name == param_name]
261 if len(found_parameters) != 1:
262 continue
263
264 parameter = found_parameters[0]
265
266 if not parameter.pass_as.pass_as_env_variable():
267 continue
268
269 env_var = parameter.env_var
270 if env_var is None:
271 env_var = _to_env_name(param_name)
272
273 if (not env_var) or (env_var in excluded):
274 continue
275
276 if env_var in result:
277 excluded.append(env_var)
278 del result[env_var]
279 continue
280
281 if parameter.no_value:
282 if (value is not None) and (read_bool(value) == True):
283 result[env_var] = 'true'
284 continue
285
286 result[env_var] = str(value)
287
288 if 'EXECUTION_ID' not in result:
289 result['EXECUTION_ID'] = str(execution_id)
290
291 return result
292
293
294def _concat_output(output_chunks):

Calls 4

read_boolFunction · 0.90
_to_env_nameFunction · 0.85
pass_as_env_variableMethod · 0.80
appendMethod · 0.80