def search(): my_token = request.args.get("token") query = request.args.get("query_str") msgs = search_utils.search(my_token, query) return dumps({ "messages": msgs })
def simplesearch_searched(): searchquery = request.form['simplesearch'] try: search_ids = search.search(searchquery) except Exception as e: # TODO: better error message, current one does not work return render_template('no_results.html', query=searchquery) # return render_template('simplesearch_searched.html', query=searchquery, # content = [['Unable to establish connection to nytimes', "We apologize for the inconvenience"]], num_results=1) if (len(search_ids) == 0): return render_template('no_results.html', query=searchquery) else: # iterate through complements list, adding tuples of (id, list of complements) content = [] for k in search_ids: try: title, body = utils.getrecipe_info(k) image = getrecipeimage(k) value = [k] if k in complements: complements_list = [n.capitalize() for n in complements[k]] #capitalize first letter else: complements_list = 'NULL' content.append([k, complements_list, title, body, image]) except: pass return render_template('simplesearch_searched.html', query=searchquery, content=content, num_results=len(content))
def req_search(): token = request.args.get('token') query_str = request.args.get('query_str') return dumps(search(token, query_str))
def test_search(): storage.clear_data_store() # User to search dic1 = authentication.auth_register('*****@*****.**', 'password1', 'Bob', 'James') token1 = dic1['token'] # Second user dic2 = authentication.auth_register('*****@*****.**', 'password3', 'Bb', 'Js') token2 = dic2['token'] # channel to search through dic = channel_utils.channels_create(token1, 'name', False) channel_id_valid = dic['channel_id'] # Submit messages message = "Valid message" message_id = message_utils.message_send(token1, channel_id_valid, message) message = "second message" message_id = message_utils.message_send(token1, channel_id_valid, message) message = "third message" message_id = message_utils.message_send(token1, channel_id_valid, message) # Messages in the channel # Search using a valid token for a query which doesn't exist token = token1 queryString = "hello" assert search.search(token, queryString) == [] token = token1 queryString = "Va" assert search.search(token, queryString)[0]['message'] == "Valid message" token = token1 queryString = " mess" assert search.search(token, queryString)[1]['message'] == "second message" # Serch using a valid token, without access to the channel where the messages are token = token2 queryString = " mess" assert search.search(token, queryString) == [] # search using an invalid token for a valid string. token = "invalid" queryString = "wassup" with pytest.raises(ValueError): search.search(token, queryString) # handle whitespace as a query string. token = token1 queryString = " " assert search.search(token, queryString) == [] # handle 1000 characters - Different words. token = token1 queryString = "Hello There Lorem ipsum dolor sit amet, consectetuer \ adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. \ Cum sociis natoque penatibus et magnis dis parturient montes, nascetur \ ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium \ quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, \ aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, \ venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer \ tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate \ eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend \ ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. \ Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. \ Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. \ Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper\ libero, sit amet adipiscing sem neque sed ipsum. N" with pytest.raises(ValueError): search.search(token, queryString) # handle 1001 characters - Same letter. token = token1 queryString = "H" * 1001 with pytest.raises(ValueError): search.search(token, queryString)
def backend_search(): return search()
def route_search_key(kind, key): return search(request, session, kind, key)
def route_search(): return search(request, session)