コード例 #1
0
    def handleApply(self, action):  # pylint: disable=W0613
        data, errors = self.extractData()
        if (errors):
            return

        # set content geo style
        geostylesgroup = [
            gr for gr in self.groups
            if gr.__class__.__name__ == 'GeoStylesForm'
        ]
        if geostylesgroup:
            stylemanager = IGeoCustomFeatureStyle(self.context)
            fields = geostylesgroup[0].fields
            stylemanager.setStyles([(i, data[i]) for i in fields])

        # we remove coordinates if wkt is 'empty'
        message = self.message_ok
        if not data['wkt']:
            geo = IGeoManager(self.context)
            coord = geo.getCoordinates()
            if coord == (None, None):
                self.setStatusMessage(self.message_coordinates_null, 'warning')
            else:
                message = self.message_georeference_removed
                self.geomanager.removeCoordinates()

        else:
            ok, message = self.addCoordinates(data)
            if not ok:
                self.status = message
                return

        self.setStatusMessage(message)
        self.redirectAction()
コード例 #2
0
def collective_geo_styles(object):
    try:
        return IGeoCustomFeatureStyle(object).geostyles
    except (ComponentLookupError, TypeError, ValueError, KeyError, IndexError):
        # The catalog expects AttributeErrors when a value can't be found
        raise AttributeError