def _reload_parameters(self, old_included_config): original_parameters_names = {p.get('name') for p in self._original_config.get('parameters', [])} if old_included_config and old_included_config.get('parameters'): old_included_param_names = {p.get('name') for p in old_included_config.get('parameters', [])} for param_name in old_included_param_names: if param_name in original_parameters_names: continue parameter = self.find_parameter(param_name) self.parameters.remove(parameter) if self._included_config is not None: included_parameter_configs = self._included_config.get('parameters', []) for parameter_config in included_parameter_configs: parameter_name = parameter_config.get('name') parameter = self.find_parameter(parameter_name) if parameter is None: parameter = ParameterModel(parameter_config, self._username, self._audit_name, lambda: self.parameters, self.parameter_values, self.working_directory) self.parameters.append(parameter) if parameter.name not in self.parameter_values: self.parameter_values[parameter.name] = parameter.default continue else: LOGGER.warning('Parameter ' + parameter_name + ' exists in original and included file. ' + 'This is now allowed! Included parameter is ignored') continue
def _init_parameters(self, username, audit_name): original_parameter_configs = self._original_config.get('parameters', []) for parameter_config in original_parameter_configs: parameter = ParameterModel(parameter_config, username, audit_name, lambda: self.parameters, self.parameter_values, self.working_directory) self.parameters.append(parameter) self._validate_parameter_configs()