def represent_json_default(self, content): if content["query"] is None or len(content["query"]) == 0: titles = [] else: titles = WikiPage.get_titles(self.user) titles = [t for t in titles if t.find(content["query"]) != -1] return JsonRepresentation([content["query"], titles])
def represent_json_default(self, content): if content['query'] is None or len(content['query']) == 0: titles = [] else: titles = WikiPage.get_titles(self.user) titles = [t for t in titles if t.find(content['query']) != -1] return JsonRepresentation([content['query'], titles])
def get_titles(self, user, head): restype = get_restype(self.request) if restype == 'json': titles = WikiPage.get_titles(user) self.response.headers['Content-Type'] = 'application/json' set_response_body(self.response, json.dumps(list(titles)), head) else: self.abort(400, 'Unknown type: %s' % restype)
def get_sp_titles(self, user, head): restype = self._get_restype() if restype == "json": titles = WikiPage.get_titles(user) self.response.headers["Content-Type"] = "application/json" self._set_response_body(json.dumps(titles), head) else: self.abort(400, "Unknown type: %s" % restype)
def test_titles_cache(self): cache_key = u'model\ttitles\tNone' self.assertIsNone(memcache.get(cache_key)) # populate cache WikiPage.get_titles(None) self.assertIsNotNone(memcache.get(cache_key)) # invalidate cache by adding new page page = WikiPage.get_by_title(u'Hello') page.update_content(u'Hello', 0, '') self.assertIsNone(memcache.get(cache_key)) # populate cache again WikiPage.get_titles(None) self.assertIsNotNone(memcache.get(cache_key)) # Should not be invalidated because it's just an update page = WikiPage.get_by_title(u'Hello') page.update_content(u'Hello 2', 1, '') self.assertIsNotNone(memcache.get(cache_key))
def test_titles_cache(self): cache_key = u'model\ttitles\tNone' self.assertIsNone(memcache.get(cache_key)) # populate cache WikiPage.get_titles(None) self.assertIsNotNone(memcache.get(cache_key)) # invalidate cache by adding new page page = WikiPage.get_by_title(u'Hello') page.update_content(u'Hello', 0) self.assertIsNone(memcache.get(cache_key)) # populate cache again WikiPage.get_titles(None) self.assertIsNotNone(memcache.get(cache_key)) # Should not be invalidated because it's just an update page = WikiPage.get_by_title(u'Hello') page.update_content(u'Hello 2', 1) self.assertIsNotNone(memcache.get(cache_key))
def get_search(self, user, head): restype = get_restype(self.request) resformat = self.request.GET.get('format', 'opensearch') q = self.request.GET.get('q', None) if restype == 'json' and resformat == 'opensearch': titles = WikiPage.get_titles(user) if q is not None and len(q) > 0: titles = [t for t in titles if t.find(q) != -1] self.response.headers['Content-Type'] = 'application/json' set_response_body(self.response, json.dumps([q, list(titles)]), head) else: self.abort(400, 'Unknown type: %s' % restype)
def get_sp_search(self, user, head): restype = self._get_restype() resformat = self.request.GET.get("format", "opensearch") q = self.request.GET.get("q", None) if restype == "json" and resformat == "opensearch": titles = WikiPage.get_titles(user) if q is not None and len(q) > 0: titles = [t for t in titles if t.find(q) != -1] self.response.headers["Content-Type"] = "application/json" self._set_response_body(json.dumps([q, titles]), head) else: self.abort(400, "Unknown type: %s" % restype)
def load(self): return list(WikiPage.get_titles(self.user))