def _get_layer(self, layer): """Analyze style of self._function and return appropriate class of the layer. :param layer: A layer. :type layer: QgsMapLayer or SAFE layer. :returns: The layer of appropriate type :rtype: SAFE or QgisWrapper :raises: InsufficientParametersError if self._function is not set, InvalidParameterError if style of self._function is not in ('old-style', 'qgis2.0') Any exceptions raised by other libraries will be propagated. """ if self._impact_function is None: message = self.tr('Error: Impact Function not set.') raise InsufficientParametersError(message) # Get type of the impact function (old-style or new-style) try: impact_function_type = \ self.impact_function_manager.get_function_type( self._impact_function) if impact_function_type == 'old-style': return convert_to_safe_layer(layer) elif impact_function_type == 'qgis2.0': # convert for new style impact function return QgisWrapper(layer) else: message = self.tr('Error: Impact Function has unknown style.') raise InvalidParameterError(message) except: raise
def _get_layer(self, layer): """Analyze style of self._function and return appropriate class of the layer. :param layer: A layer. :type layer: QgsMapLayer or SAFE layer. :returns: The layer of appropriate type :rtype: SAFE or QgisWrapper :raises: InsufficientParametersError if self._function is not set, InvalidParameterError if style of self._function is not in ('old-style', 'qgis2.0') Any exceptions raised by other libraries will be propogated. """ if self._function is None or self._function == '': message = self.tr('Error: Function not set.') raise InsufficientParametersError(message) # Get type of the impact function (old-style or new-style) try: func_type = get_safe_impact_function_type(self._function) if func_type == 'old-style': return convert_to_safe_layer(layer) elif func_type == 'qgis2.0': # convert for new style impact function return QgisWrapper(layer) else: message = self.tr('Error: Function has unknown style.') raise InvalidParameterError(message) except: raise
def exposure(self, layer): """Setter for exposure layer property. :param layer: exposure layer to be used for the analysis. :type layer: SafeLayer """ if isinstance(layer, SafeLayer): self._exposure = layer else: if self.function_type() == 'old-style': self._exposure = SafeLayer(convert_to_safe_layer(layer)) elif self.function_type() == 'qgis2.0': # convert for new style impact function self._exposure = SafeLayer(layer) else: message = tr('Error: Impact Function has unknown style.') raise Exception(message) # Update the target field to a non-conflicting one if self.exposure.is_qgsvectorlayer(): self._target_field = get_non_conflicting_attribute_name( self.target_field, self.exposure.layer.dataProvider().fieldNameMap().keys())
def exposure(self, layer): """Setter for exposure layer property. :param layer: exposure layer to be used for the analysis. :type layer: SafeLayer """ if isinstance(layer, SafeLayer): self._exposure = layer else: if self.function_type() == 'old-style': self._exposure = SafeLayer(convert_to_safe_layer(layer)) elif self.function_type() == 'qgis2.0': # convert for new style impact function self._exposure = SafeLayer(layer) else: message = tr('Error: Impact Function has unknown style.') raise Exception(message) # Update the target field to a non-conflicting one if self.exposure.is_qgsvectorlayer(): self._target_field = get_non_conflicting_attribute_name( self.target_field, self.exposure.layer.dataProvider().fieldNameMap().keys() )