Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
 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
Beispiel #4
0
 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