예제 #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])
예제 #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])
예제 #3
0
파일: views.py 프로젝트: namongk/ecogwiki
    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)
예제 #4
0
파일: views.py 프로젝트: namongk/ecogwiki
    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)
예제 #5
0
파일: views.py 프로젝트: uastory/ecogwiki
    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)
예제 #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))
예제 #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))
예제 #8
0
파일: views.py 프로젝트: namongk/ecogwiki
    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)
예제 #9
0
파일: views.py 프로젝트: uastory/ecogwiki
    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)
예제 #10
0
파일: views.py 프로젝트: namongk/ecogwiki
    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)
예제 #11
0
 def load(self):
     return list(WikiPage.get_titles(self.user))
예제 #12
0
 def load(self):
     return list(WikiPage.get_titles(self.user))