def filter_by_exposure(impact_functions, exposure_keywords): """Filter impact function by exposure_keywords. :param impact_functions: List of impact functions :type impact_functions: list :param exposure_keywords: Dictionary represent exposure keywords :type exposure_keywords: dict :returns: List of impact functions. :rtype: list """ filtered_impact_functions = [] for impact_function in impact_functions: if_exposure_keywords = impact_function.metadata().as_dict()[ 'categories']['exposure'] subcategory = if_exposure_keywords['subcategories'] units = if_exposure_keywords['units'] layer_constraints = if_exposure_keywords['layer_constraints'] if not is_subset(exposure_keywords['subcategory'], subcategory): continue if not is_subset(exposure_keywords['units'], units): continue if not is_subset( exposure_keywords['layer_constraints'], layer_constraints): continue filtered_impact_functions.append(impact_function) return filtered_impact_functions
def filter_by_exposure(impact_functions, exposure_keywords): """Filter impact function by exposure_keywords. :param impact_functions: List of impact functions :type impact_functions: list :param exposure_keywords: Dictionary represent exposure keywords :type exposure_keywords: dict :returns: List of impact functions. :rtype: list """ filtered_impact_functions = [] for impact_function in impact_functions: if_exposure_keywords = impact_function.metadata().as_dict( )['categories']['exposure'] subcategory = if_exposure_keywords['subcategories'] units = if_exposure_keywords['units'] layer_constraints = if_exposure_keywords['layer_constraints'] if not is_subset(exposure_keywords['subcategory'], subcategory): continue if not is_subset(exposure_keywords['units'], units): continue if not is_subset(exposure_keywords['layer_constraints'], layer_constraints): continue filtered_impact_functions.append(impact_function) return filtered_impact_functions
def filter_by_hazard(impact_functions, hazard_keywords): """Filter impact function by hazard_keywords. :param impact_functions: List of impact functions. :type impact_functions: list :param hazard_keywords: Dictionary represent hazard keywords. :type hazard_keywords: dict :returns: List of impact functions. :rtype: list """ filtered_impact_functions = [] for impact_function in impact_functions: if_hazard_keywords = impact_function.metadata().as_dict()[ 'categories']['hazard'] subcategories = if_hazard_keywords['subcategories'] units = if_hazard_keywords['units'] layer_constraints = if_hazard_keywords['layer_constraints'] if not is_subset(hazard_keywords['subcategory'], subcategories): continue if not is_subset(hazard_keywords['units'], units): continue if not is_subset( hazard_keywords['layer_constraints'], layer_constraints): continue filtered_impact_functions.append(impact_function) return filtered_impact_functions
def filter_by_hazard(impact_functions, hazard_keywords): """Filter impact function by hazard_keywords. :param impact_functions: List of impact functions. :type impact_functions: list :param hazard_keywords: Dictionary represent hazard keywords. :type hazard_keywords: dict :returns: List of impact functions. :rtype: list """ filtered_impact_functions = [] for impact_function in impact_functions: if_hazard_keywords = impact_function.metadata().as_dict( )['categories']['hazard'] subcategories = if_hazard_keywords['subcategories'] units = if_hazard_keywords['units'] layer_constraints = if_hazard_keywords['layer_constraints'] if not is_subset(hazard_keywords['subcategory'], subcategories): continue if not is_subset(hazard_keywords['units'], units): continue if not is_subset(hazard_keywords['layer_constraints'], layer_constraints): continue filtered_impact_functions.append(impact_function) return filtered_impact_functions
def filter_by_hazard(impact_functions, hazard_keywords): """Filter impact function by hazard_keywords. :param impact_functions: List of impact functions. :type impact_functions: list :param hazard_keywords: Dictionary represent hazard keywords. :type hazard_keywords: dict :returns: List of impact functions. :rtype: list """ filtered_impact_functions = [] for impact_function in impact_functions: if_hazard_requirements = impact_function.metadata().as_dict( )['layer_requirements']['hazard'] layer_mode = if_hazard_requirements['layer_mode'] layer_geometries = if_hazard_requirements['layer_geometries'] hazard_categories = if_hazard_requirements['hazard_categories'] hazard_types = if_hazard_requirements['hazard_types'] continuous_hazard_units = if_hazard_requirements[ 'continuous_hazard_units'] vector_hazard_classifications = if_hazard_requirements[ 'vector_hazard_classifications'] raster_hazard_classifications = if_hazard_requirements[ 'raster_hazard_classifications'] if (layer_mode and not is_subset(hazard_keywords.get('layer_mode'), layer_mode)): continue if (layer_geometries and not is_subset( hazard_keywords.get('layer_geometry'), layer_geometries)): continue if (hazard_categories and not is_subset(hazard_keywords.get('hazard_category'), hazard_categories)): continue if (hazard_types and not is_subset(hazard_keywords.get('hazard'), hazard_types)): continue if (continuous_hazard_units and not is_subset( hazard_keywords.get('continuous_hazard_unit'), continuous_hazard_units)): continue if (vector_hazard_classifications and not is_subset( hazard_keywords.get('vector_hazard_classification'), vector_hazard_classifications)): continue if (raster_hazard_classifications and not is_subset( hazard_keywords.get('raster_hazard_classification'), raster_hazard_classifications)): continue filtered_impact_functions.append(impact_function) return filtered_impact_functions
def filter_by_exposure(impact_functions, exposure_keywords): """Filter impact function by exposure_keywords. :param impact_functions: List of impact functions :type impact_functions: list :param exposure_keywords: Dictionary represent exposure keywords :type exposure_keywords: dict :returns: List of impact functions. :rtype: list """ filtered_impact_functions = [] for impact_function in impact_functions: if_exposure_keywords = impact_function.metadata().as_dict()[ 'layer_requirements']['exposure'] layer_mode = if_exposure_keywords['layer_mode'] layer_geometries = if_exposure_keywords['layer_geometries'] exposure_types = if_exposure_keywords['exposure_types'] exposure_units = if_exposure_keywords['exposure_units'] if (layer_mode and not is_subset( exposure_keywords.get('layer_mode'), layer_mode)): continue if (layer_geometries and not is_subset( exposure_keywords.get( 'layer_geometry'), layer_geometries)): continue if (exposure_types and not is_subset( exposure_keywords.get('exposure'), exposure_types)): continue if (exposure_units and not is_subset( exposure_keywords.get('exposure_unit'), exposure_units)): continue filtered_impact_functions.append(impact_function) return filtered_impact_functions
def filter_by_hazard(impact_functions, hazard_keywords): """Filter impact function by hazard_keywords. :param impact_functions: List of impact functions. :type impact_functions: list :param hazard_keywords: Dictionary represent hazard keywords. :type hazard_keywords: dict :returns: List of impact functions. :rtype: list """ filtered_impact_functions = [] for impact_function in impact_functions: if_hazard_requirements = impact_function.metadata().as_dict()[ 'layer_requirements']['hazard'] layer_mode = if_hazard_requirements['layer_mode'] layer_geometries = if_hazard_requirements['layer_geometries'] hazard_categories = if_hazard_requirements['hazard_categories'] hazard_types = if_hazard_requirements['hazard_types'] continuous_hazard_units = if_hazard_requirements[ 'continuous_hazard_units'] vector_hazard_classifications = if_hazard_requirements[ 'vector_hazard_classifications'] raster_hazard_classifications = if_hazard_requirements[ 'raster_hazard_classifications'] if (layer_mode and not is_subset( hazard_keywords.get('layer_mode'), layer_mode)): continue if (layer_geometries and not is_subset( hazard_keywords.get('layer_geometry'), layer_geometries)): continue if (hazard_categories and not is_subset( hazard_keywords.get('hazard_category'), hazard_categories)): continue if (hazard_types and not is_subset( hazard_keywords.get('hazard'), hazard_types)): continue if (continuous_hazard_units and not is_subset( hazard_keywords.get('continuous_hazard_unit'), continuous_hazard_units)): continue if (vector_hazard_classifications and not is_subset( hazard_keywords.get('vector_hazard_classification'), vector_hazard_classifications)): continue if (raster_hazard_classifications and not is_subset( hazard_keywords.get('raster_hazard_classification'), raster_hazard_classifications)): continue filtered_impact_functions.append(impact_function) return filtered_impact_functions
def filter_by_exposure(impact_functions, exposure_keywords): """Filter impact function by exposure_keywords. :param impact_functions: List of impact functions :type impact_functions: list :param exposure_keywords: Dictionary represent exposure keywords :type exposure_keywords: dict :returns: List of impact functions. :rtype: list """ filtered_impact_functions = [] for impact_function in impact_functions: if_exposure_keywords = impact_function.metadata().as_dict()[ 'layer_requirements']['exposure'] layer_mode = if_exposure_keywords['layer_mode'] layer_geometries = if_exposure_keywords['layer_geometries'] exposure_types = if_exposure_keywords['exposure_types'] exposure_units = if_exposure_keywords['exposure_units'] if (layer_mode and not is_subset( exposure_keywords.get('layer_mode'), layer_mode)): continue if (layer_geometries and not is_subset( exposure_keywords.get( 'layer_geometry'), layer_geometries)): continue if (exposure_types and not is_subset( exposure_keywords.get('exposure'), exposure_types)): continue if (exposure_units and not is_subset( exposure_keywords.get('exposure_unit'), exposure_units)): continue filtered_impact_functions.append(impact_function) return filtered_impact_functions