def get(self): # logging.info("request start \n{}".format(time.clock() * 1000 % 1000)) self.response.headers['Content-Type'] = 'text/plain; charset=utf-8' query = self.request.get('q') logging.info(u"Autocomplete search for '{}'".format(query)) autocompleter = Autocompleter() # logging.info("before autocompleter.get_results \n{}".format(time.clock() * 1000 % 1000)) results = autocompleter.get_results(query) # logging.info("after autocompleter.get_results \n{}".format(time.clock() * 1000 % 1000)) json_results = [] for book in results: if book is None: logging.warning(u"Autocompleter result for '{}' returned None." .format(query)) continue assert isinstance(book, BookRecord) suggestion_map = {'author': book.author, 'title': book.title, 'year': book.year, 'count': book.count, 'item_ids': book.key.string_id()} json_results.append(suggestion_map) json_object = { 'query': query, 'version': AutocompleteJson.CURRENT_VERSION, 'status': 'completed', 'suggestions': json_results } # logging.info("before json.dump \n{}".format(time.clock() * 1000 % 1000)) self.response.write(json.dumps(json_object, indent=2))
def get(self): # logging.info("request start \n{}".format(time.clock() * 1000 % 1000)) self.response.headers['Content-Type'] = 'text/plain; charset=utf-8' query = self.request.get('q') logging.info(u"Autocomplete search for '{}'".format(query)) autocompleter = Autocompleter() # logging.info("before autocompleter.get_results \n{}".format(time.clock() * 1000 % 1000)) results = autocompleter.get_results(query) # logging.info("after autocompleter.get_results \n{}".format(time.clock() * 1000 % 1000)) json_results = [] for book in results: if book is None: logging.warning( u"Autocompleter result for '{}' returned None.".format( query)) continue assert isinstance(book, BookRecord) suggestion_map = { 'author': book.author, 'title': book.title, 'year': book.year, 'count': book.count, 'item_ids': book.key.string_id() } json_results.append(suggestion_map) json_object = { 'query': query, 'version': AutocompleteJson.CURRENT_VERSION, 'status': 'completed', 'suggestions': json_results } # logging.info("before json.dump \n{}".format(time.clock() * 1000 % 1000)) self.response.write(json.dumps(json_object, indent=2))
def get(self): result = u"<p>Behold autocomplete stuff:</p>" autocompleter = Autocompleter() query = self.request.get('q', default_value=u"Tolkien") suggestions = autocompleter.get_results(query) result += u"<pre>" for suggestion in suggestions: assert isinstance(suggestion, BookRecord) result += u"{} - {} ({})\n".format(suggestion.author, suggestion.title, suggestion.year) result += u"</pre>" render_html(self, "admin_generic.html", u"Testing BQ", result)