def search(query=None): if request.is_xhr: search_query = escape(request.args.get('query')) search_results = ServiceApi.search(quote(search_query)) return search_results else: return render_app_template(request.path)
def search(query=None): if request.is_xhr: if request.method == "GET": search_query = request.args.get('query') search_results = ServiceApi.search(search_query) return render_json_response(search_results) else: adv_query_string = request.form['adv_query_string'] adv_query_chunks = parse_qs(adv_query_string) geospatial_bounds = {'north': adv_query_chunks.get('north', [''])[0], 'east': adv_query_chunks.get('east', [''])[0], 'south': adv_query_chunks.get('south', [''])[0], 'west': adv_query_chunks.get('west', [''])[0]} vertical_bounds = {'lower': adv_query_chunks.get('vertical-lower-bound', [''])[0], 'upper': adv_query_chunks.get('vertical-upper-bound', [''])[0]} temporal_bounds = {'from': adv_query_chunks.get('temporal-from-ctrl', [''])[0], 'to': adv_query_chunks.get('temporal-to-ctrl', [''])[0]} search_criteria = zip(adv_query_chunks.get('filter_var', []), adv_query_chunks.get('filter_operator', []), adv_query_chunks.get('filter_arg', [])) search_results = ServiceApi.adv_search(geospatial_bounds, vertical_bounds, temporal_bounds, search_criteria) return render_json_response(search_results) else: return render_app_template(request.path)
def test_quick_search(self): with self.app_context: sa = ServiceApi() search_query = "parsed" results = sa.search(search_query=search_query) self.assertTrue(results != []) search_query_found = False for result in results: for key, value in result['_source'].iteritems(): if type(value) is str or type(value) is unicode: if value.lower().find(search_query.lower()) > -1: search_query_found = True self.assertTrue(search_query_found) search_query = "parseD" results = sa.search(search_query=search_query) self.assertTrue(results != []) search_query_found = False for result in results: for key, value in result['_source'].iteritems(): if type(value) is str or type(value) is unicode: if value.lower().find(search_query.lower()) > -1: search_query_found = True self.assertTrue(search_query_found)
def search(query=None): if request.is_xhr: if request.method == "GET": search_query = request.args.get('query') search_results = ServiceApi.search(search_query) return render_json_response(search_results) else: adv_query_string = request.form['adv_query_string'] adv_query_chunks = parse_qs(adv_query_string) geospatial_bounds = { 'north': adv_query_chunks.get('north', [''])[0], 'east': adv_query_chunks.get('east', [''])[0], 'south': adv_query_chunks.get('south', [''])[0], 'west': adv_query_chunks.get('west', [''])[0] } vertical_bounds = { 'lower': adv_query_chunks.get('vertical-lower-bound', [''])[0], 'upper': adv_query_chunks.get('vertical-upper-bound', [''])[0] } temporal_bounds = { 'from': adv_query_chunks.get('temporal-from-ctrl', [''])[0], 'to': adv_query_chunks.get('temporal-to-ctrl', [''])[0] } temporal_field = adv_query_chunks.get('temporal-field-ctrl', [''])[0] radius = adv_query_chunks.get('radius', [''])[0] search_criteria = zip(adv_query_chunks.get('filter_var', []), adv_query_chunks.get('filter_operator', []), adv_query_chunks.get('filter_arg', [])) search_results = ServiceApi.adv_search(geospatial_bounds, vertical_bounds, temporal_bounds, temporal_field, radius, search_criteria) return render_json_response(search_results) else: return render_app_template(request.path)