def merge(self, upper_config, lower_configs): '''merge upper config to lower configs. Args: upper_config: any type. lower_configs: dict of {str: any type} Returns: None ''' upper_ref = config_reference.ConfigReference(upper_config) lower_refs = {} for lower_key, lower_config in lower_configs.items(): lower_refs[lower_key] = config_reference.ConfigReference( lower_config) for mapping in self.mappings: logging.debug('apply merging from the rule %s', mapping) mapping.merge(upper_ref, lower_refs) for lower_key, lower_config in lower_configs.items(): lower_configs[lower_key] = config_reference.getCleanConfig( lower_config) logging.debug('merged upper config\n%s\nto lower configs:\n%s', upper_config, lower_configs)
def merge(self, upper_config, lower_configs): '''merge upper config to lower configs. Args: upper_config: any type. lower_configs: dict of {str: any type} Returns: None ''' upper_ref = config_reference.ConfigReference(upper_config) lower_refs = {} for lower_key, lower_config in lower_configs.items(): lower_refs[lower_key] = config_reference.ConfigReference( lower_config) for mapping in self.mappings: logging.debug('apply merging from the rule %s', mapping) mapping.merge(upper_ref, lower_refs) for lower_key, lower_config in lower_configs.items(): lower_configs[lower_key] = config_reference.getCleanConfig( lower_config) logging.debug('merged upper config\n%s\nto lower configs:\n%s', upper_config, lower_configs)
def filter(self, config): '''Filter config''' ref = config_reference.ConfigReference(config) filtered_ref = config_reference.ConfigReference({}) self._filterAllows(ref, filtered_ref) self._filterDenies(filtered_ref) filtered_config = config_reference.getCleanConfig(filtered_ref.config) logging.debug('filter config %s to %s', config, filtered_config) return filtered_config
def filter(self, config): '''Filter config''' ref = config_reference.ConfigReference(config) filtered_ref = config_reference.ConfigReference({}) self._filterAllows(ref, filtered_ref) self._filterDenies(filtered_ref) filtered_config = config_reference.getCleanConfig(filtered_ref.config) logging.debug('filter config %s to %s', config, filtered_config) return filtered_config
def translate(self, config): '''translate config. Args: config: any type of data. Returns: the translated config. ''' ref = config_reference.ConfigReference(config) translated_ref = config_reference.ConfigReference({}) for key, values in self.mapping.items(): for value in values: value.translate(ref, key, translated_ref) translated_config = config_reference.getCleanConfig( translated_ref.config) logging.debug('translate config\n%s\nto\n%s', config, translated_config) return translated_config