本文整理汇总了Python中safe.common.utilities.add_to_list函数的典型用法代码示例。如果您正苦于以下问题:Python add_to_list函数的具体用法?Python add_to_list怎么用?Python add_to_list使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了add_to_list函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: exposure_additional_keywords
def exposure_additional_keywords(
self, layer_mode_key=None, layer_geometry_key=None,
exposure_key=None):
"""Return additional_keywords for exposure.
:param layer_mode_key: The layer mode key
:type layer_mode_key: str
:param layer_geometry_key: The layer geometry key
:type layer_geometry_key: str
:param exposure_key: The hazard key
:type exposure_key: str
:returns: List of additional keywords
:rtype: list
"""
additional_keywords = []
for impact_function in self.impact_functions:
if_additional_keywords = impact_function.metadata().\
exposure_additional_keywords(
layer_mode_key=layer_mode_key,
layer_geometry_key=layer_geometry_key,
exposure_key=exposure_key)
if if_additional_keywords:
add_to_list(additional_keywords, if_additional_keywords)
return additional_keywords
示例2: raster_hazards_classifications_for_layer
def raster_hazards_classifications_for_layer(
self, hazard_key, layer_geometry_key, layer_mode_key,
hazard_category_key):
"""Get continuous hazard units.
:param hazard_key: The hazard key
:type hazard_key: str
:param layer_geometry_key: The layer geometry key
:type layer_geometry_key: str
:param layer_mode_key: The layer mode key
:type layer_mode_key: str
:param hazard_category_key: The hazard category key
:type hazard_category_key: str
:returns: List of raster_hazards_classifications
:rtype: list
"""
raster_hazards_classifications = []
for impact_function in self.impact_functions:
if_vector_hazards_classifications = impact_function.metadata().\
raster_hazards_classifications_for_layer(
hazard_key, layer_geometry_key, layer_mode_key,
hazard_category_key)
if if_vector_hazards_classifications:
add_to_list(
raster_hazards_classifications,
if_vector_hazards_classifications)
return raster_hazards_classifications
示例3: exposure_class_fields
def exposure_class_fields(
self, layer_mode_key=None, layer_geometry_key=None,
exposure_key=None):
"""Return list of exposure class field.
:param layer_mode_key: The layer mode key
:type layer_mode_key: str
:param layer_geometry_key: The layer geometry key
:type layer_geometry_key: str
:param exposure_key: The exposure key
:type exposure_key: str
:returns: List of exposure class field.
:rtype: list
"""
result = []
for impact_function in self.impact_functions:
if_exposure_class_field = impact_function.metadata(). \
exposure_class_fields(
layer_mode_key=layer_mode_key,
layer_geometry_key=layer_geometry_key,
exposure_key=exposure_key)
if if_exposure_class_field:
add_to_list(result, if_exposure_class_field)
return result
示例4: available_hazards
def available_hazards(self, hazard_category_key, ascending=True):
"""available_hazards from hazard_category_key
:param hazard_category_key: The hazard category key
:type hazard_category_key: str
:param ascending: Sort ascending or not.
:type ascending: bool
:returns: List of available hazards
:rtype: list
"""
hazards = []
for impact_function in self.impact_functions:
if_hazards = impact_function.metadata(). \
available_hazards(hazard_category_key)
if if_hazards:
add_to_list(hazards, if_hazards)
# make it sorted
if ascending and hazards:
hazards = sorted(hazards, key=lambda k: k['key'])
return hazards
示例5: exposure_units_for_layer
def exposure_units_for_layer(
self, exposure_key, layer_geometry_key, layer_mode_key):
"""Get hazard categories form layer_geometry_key
:param exposure_key: The exposure key
:type exposure_key: str
:param layer_geometry_key: The geometry key
:type layer_geometry_key: str
:param layer_mode_key: The layer mode key
:type layer_mode_key: str
:returns: List of exposure unit
:rtype: list
"""
exposure_units = []
for impact_function in self.impact_functions:
if_exposure_units = impact_function.metadata().\
exposure_units_for_layer(
exposure_key, layer_geometry_key, layer_mode_key)
if if_exposure_units:
add_to_list(exposure_units, if_exposure_units)
return exposure_units
示例6: continuous_hazards_units_for_layer
def continuous_hazards_units_for_layer(
self, hazard_key, layer_geometry_key, layer_mode_key,
hazard_category_key):
"""Get continuous hazard units.
:param hazard_key: The hazard key
:type hazard_key: str
:param layer_geometry_key: The layer geometry key
:type layer_geometry_key: str
:param layer_mode_key: The layer mode key
:type layer_mode_key: str
:param hazard_category_key: The hazard category key
:type hazard_category_key: str
:returns: List of continuous hazard unit
:rtype: list
"""
continuous_hazards_units = []
for impact_function in self.impact_functions:
if_continuous_hazard_units = impact_function.metadata().\
continuous_hazards_units_for_layer(
hazard_key, layer_geometry_key, layer_mode_key,
hazard_category_key)
if if_continuous_hazard_units:
add_to_list(
continuous_hazards_units, if_continuous_hazard_units)
return continuous_hazards_units
示例7: get_available_exposures
def get_available_exposures(self, impact_function=None, ascending=True):
"""Return a list of valid available exposures for an impact function.
If impact_function is None, return all available exposures
.. versionadded:: 2.2
:param impact_function: Impact Function object.
:type impact_function: FunctionProvider
:param ascending: Sort ascending or not.
:type ascending: bool
:returns: A list of exposures full metadata.
:rtype: list
"""
exposures = []
if impact_function is None:
for impact_function in self.impact_functions:
add_to_list(exposures, impact_function.metadata().get_exposures())
else:
# noinspection PyUnresolvedReferences
exposures = impact_function.metadata().get_exposures()
# make it sorted
if ascending:
exposures = sorted(exposures, key=lambda k: k["id"])
return exposures
示例8: hazard_additional_keywords
def hazard_additional_keywords(
self, layer_mode_key=None, layer_geometry_key=None,
hazard_category_key=None, hazard_key=None):
"""Return additional_keywords for hazard.
:param layer_mode_key: The layer mode key
:type layer_mode_key: str
:param layer_geometry_key: The layer geometry key
:type layer_geometry_key: str
:param hazard_category_key: The hazard category key
:type hazard_category_key: str
:param hazard_key: The hazard key
:type hazard_key: str
:returns: List of additional keywords
:rtype: list
"""
additional_keywords = []
for impact_function in self.impact_functions:
if_additional_keywords = impact_function.metadata().\
hazard_additional_keywords(
layer_mode_key=layer_mode_key,
layer_geometry_key=layer_geometry_key,
hazard_category_key=hazard_category_key,
hazard_key=hazard_key)
if if_additional_keywords:
add_to_list(additional_keywords, if_additional_keywords)
return additional_keywords
示例9: available_hazard_layer_modes
def available_hazard_layer_modes(
self, hazard_key, hazard_geometry_key, hazard_category_key):
"""Return all available layer_mode.
:param hazard_key: The hazard key
:type hazard_key: str
:param hazard_geometry_key: The hazard geometry key
:type hazard_geometry_key: str
:param hazard_category_key: The hazard category key
:type hazard_category_key: str
:returns: List of layer_mode
:rtype: list
"""
layer_modes = []
for impact_function in self.impact_functions:
if_hazard_layer_mode = impact_function.metadata().\
available_hazard_layer_mode(
hazard_key, hazard_geometry_key, hazard_category_key)
if if_hazard_layer_mode:
add_to_list(layer_modes, if_hazard_layer_mode)
return layer_modes
示例10: allowed_data_types
def allowed_data_types(cls, subcategory):
"""Get the list of allowed data types for a subcategory.
Example usage::
foo = IF()
meta = IF.metadata
ubar = meta.allowed_data_types('structure')
ubar
> ['polygon']
In the above example it does not show ‘numeric’ as the request is
specific to the structure subcategory for that IF (using the IF
declaration at the top of this file as the basis for IF())
Passing a subcategory is required otherwise the context of the
data_type(s) would be ambiguous (i.e. whether they can be used as
exposure or hazards).
:param subcategory: Required subcategory which will be used to subset
the allowed data_types.
:type subcategory: str
:returns: A list of one or more strings is returned.
:rtype: list
"""
result = []
metadata_dict = cls.as_dict()
categories = metadata_dict['categories']
if subcategory in [x['id'] for x in cls.allowed_subcategories(
'exposure')]:
# implementation logic that returns the allowed data_types for
# exposure layer with subcategory as passed in to this method
layer_constraints = categories['exposure']['layer_constraints']
for layer_constraint in layer_constraints:
result = add_to_list(result, layer_constraint['data_type'])
elif subcategory in [x['id'] for x in cls.allowed_subcategories(
'hazard')]:
# implementation logic that returns the allowed data_types for
# hazard layer with subcategory as passed in to this method
layer_constraints = categories['hazard']['layer_constraints']
for layer_constraint in layer_constraints:
result = add_to_list(result, layer_constraint['data_type'])
else:
# raise Exception('Invalid subcategory.')
# TODO (ismailsunni): create custom exception to catch since it
# will called by all impact function
pass
return result
示例11: allowed_units
def allowed_units(cls, subcategory, data_type):
"""Get the list of allowed units for a subcategory and data_type.
.. note:: One data_type could be used by more than one subcategory,
so we need to explicitly pass the subcategory to this function.
Example usage::
foo = IF()
meta = IF.metadata
ubar = meta.allowed_data_types('structure')
ubar
> ['polygon']
:param subcategory: Required subcategory which will be used to subset
the allowed data_types.
:type subcategory: str
:param data_type: Required data_type which will be used to subset the
allowed units.
:type data_type: str
:returns: A list of one or more strings is returned.
:rtype: list
"""
# pass # must implement here
result = []
if data_type not in cls.allowed_data_types(subcategory):
return result
metadata_dict = cls.as_dict()
categories = metadata_dict['categories']
if subcategory in [x['id'] for x in cls.allowed_subcategories(
'exposure')]:
# implementation logic that returns the allowed data_types for
# exposure layer with subcategory as passed in to this method
result = add_to_list(result, categories['exposure']['units'])
elif subcategory in [x['id'] for x in cls.allowed_subcategories(
'hazard')]:
# implementation logic that returns the allowed data_types for
# hazard layer with subcategory as passed in to this method
result = add_to_list(result, categories['hazard']['units'])
else:
# raise Exception('Invalid subcategory.')
# TODO (ismailsunni): create custom exception to catch since it
# will called by all impact function
pass
return result
示例12: purposes_for_layer
def purposes_for_layer(self, layer_geometry_key):
"""Get purposes of a layer geometry id.
:param layer_geometry_key: The geometry id
:type layer_geometry_key: str
"""
layer_purposes = []
for impact_function in self.impact_functions:
if_layer_purposes = impact_function.metadata().purposes_for_layer(
layer_geometry_key)
if if_layer_purposes:
add_to_list(layer_purposes, if_layer_purposes)
return layer_purposes
示例13: allowed_units
def allowed_units(self, subcategory, data_type):
"""Determine allowed units from all impact functions.
It uses subcategory and data_type as a filter.
.. note:: One data_type could be used by more than one subcategory,
so we need to explicitly pass the subcategory to this function.
:param subcategory: Required subcategory which will be used to subset
the allowed data_types.
:type subcategory: str
:param data_type: Required data_type which will be used to subset the
allowed units.
:type data_type: str
:returns: A list of one or more strings is returned.
:rtype: list
"""
result = []
for impact_function in self.impact_functions:
my_allowed_units = impact_function.metadata().allowed_units(subcategory, data_type)
result = add_to_list(result, my_allowed_units)
return result
示例14: available_exposure_constraints
def available_exposure_constraints(self, exposure_key):
"""Get exposure constraints for exposure_key.
:param exposure_key: The exposure key
:type exposure_key: str
:returns: List of tuple of layer_mode and layer_geometry
:rtype: list
"""
exposure_constraints = []
for impact_function in self.impact_functions:
if_exposure_constraints = impact_function.metadata(). \
available_exposure_constraints(exposure_key)
if if_exposure_constraints:
add_to_list(exposure_constraints, if_exposure_constraints)
return exposure_constraints
示例15: exposures_for_layer
def exposures_for_layer(self, layer_geometry_key):
"""Get hazard categories form layer_geometry_key
:param layer_geometry_key: The geometry id
:type layer_geometry_key: str
:returns: List of hazard
:rtype: list
"""
exposures = []
for impact_function in self.impact_functions:
if_exposures = impact_function.metadata().exposures_for_layer(
layer_geometry_key)
if if_exposures:
add_to_list(exposures, if_exposures)
return exposures