| 251 | |
| 252 | |
| 253 | def _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 | |
| 294 | def _concat_output(output_chunks): |