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()
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