Ejemplo n.º 1
0
def autocomplete():
  # TODO add collection parameter
  results = api.autocomplete(request.args.get('field'), request.args.get('query'), 10)
  json_resp = json.dumps(results)
  return Response(json_resp, mimetype='application/json', headers={ \
    'Cache-Control': 'max-age=432000',  # 5 days
  })
Ejemplo n.º 2
0
def asteroid_details(asteroid_slug=None):
  # slug is a slug of asteroid prov des
  if not asteroid_slug:
    return 'Sorry, could not find this asteroid in our database.', 404
  unslug = asteroid_slug.replace('-', ' ')
  candidates = api.autocomplete(unslug, 1)  # TODO better way
  if len(candidates) < 1:
    return 'Sorry, could not find this asteroid in our database.', 404

  asteroid = candidates[0]
  jpl_result = api.jpl_lookup(asteroid['prov_des'])
  if 'spec' in asteroid:
    composition_result = api.compositions()[asteroid['spec']]
  else:
    composition_result = []

  return render_template('asteroid.html', asteroid=asteroid, jpl=jpl_result, composition=composition_result)
Ejemplo n.º 3
0
def asteroid_details(asteroid_slug=None):
  # slug is a slug of asteroid prov des
  if not asteroid_slug:
    return 'Sorry, could not find this asteroid in our database.', 404
  unslug = asteroid_slug.replace('-', ' ')
  # Need to get top 10, otherwise sometimes the best match is not returned by mongo.
  candidates = api.autocomplete(unslug, 10)  # TODO better way?
  if len(candidates) < 1:
    return 'Sorry, could not find this asteroid in our database.', 404

  asteroid = candidates[0]
  jpl_result = api.jpl_lookup(asteroid['prov_des'])
  if 'spec' in asteroid:
    composition_result = api.compositions()[asteroid['spec']]
  else:
    composition_result = []

  return render_template('asteroid.html', asteroid=asteroid, jpl=jpl_result, composition=composition_result)
Ejemplo n.º 4
0
def autocomplete():
  results = api.autocomplete(request.args.get('query'), 10)
  json_resp = json.dumps(results)
  return Response(json_resp, mimetype='application/json', headers={ \
    'Cache-Control': 'max-age=432000',  # 5 days
  })