Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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
  }