Exemple #1
0
    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])
Exemple #2
0
    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])
Exemple #3
0
    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)
Exemple #4
0
    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)
Exemple #5
0
    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)
Exemple #6
0
    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))
Exemple #7
0
    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))
Exemple #8
0
    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)
Exemple #9
0
    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)
Exemple #10
0
    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)
Exemple #11
0
 def load(self):
     return list(WikiPage.get_titles(self.user))
Exemple #12
0
 def load(self):
     return list(WikiPage.get_titles(self.user))