def feature_intersects(oauth_request, storage, extension, is_public): geometry = request.args.get("geometry") results_per_page = request.args.get("results_per_page") Feature_ = Feature() Feature_.current_user = oauth_request.user feature_list = Feature_.feature_get_intersection(storage, geometry) if type(feature_list) is tuple: return feature_list arguments = {"the_content": feature_list, "list_name": "features", "extension": extension} return Feature_.endpoint_response(**arguments)
def fetch_dynamic_recipients(feature, **options): from CommonsCloudAPI.models.feature import Feature if 'geometry_intersects' in options.get('conditions', None): # logger.debug('Geometry %s', feature.geometry) if feature.geometry is None: return abort(400) Feature_ = Feature() intersection_options = { "storage_": options.get('from_storage', None), "geometry": feature.geometry } features = Feature_.feature_get_intersection(**intersection_options) # logger.debug('features from get intersects %s', features) """ Create the recipients list """ email_addresses = [] if features: field = options.get('field', None) # logger.debug('features %s', dir(features)) for feature in features: # logger.debug('Adding recipient %s', getattr(feature, field)) email_addresses.append(getattr(feature, field)) if not len(email_addresses): email_addresses.append('*****@*****.**') # logger.debug('email_addresses %s, %s', len(email_addresses), email_addresses) # logger.debug('Dynamic recipient list %s', email_addresses) return { "recipients": features, "email_addresses": email_addresses }