def test_logical_operations(self): self.assertEqual([{u'name': u'The Mind\'s I'}, {u'name': u'GEB'}], WikiPage.wikiquery(u'"GEB" + "The Mind\'s I"')) self.assertEqual({u'name': u'The Mind\'s I'}, WikiPage.wikiquery(u'schema:"Book" * author:"Douglas Hofstadter" * author:"Daniel Dennett"')) self.assertEqual([{'name': u"The Mind's I"}, {'name': u'GEB'}], WikiPage.wikiquery(u'schema:"Book" + author:"Douglas Hofstadter" * author:"Daniel Dennett"'))
def test_specifying_attr_order(self): result = WikiPage.wikiquery(u'schema:"Book" > author, datePublished+') self.assertEqual(u'1979', result[0]['datePublished'].pvalue) self.assertEqual(u'1982', result[1]['datePublished'].pvalue) result = WikiPage.wikiquery(u'schema:"Book" > author, datePublished-') self.assertEqual(u'1982', result[0]['datePublished'].pvalue) self.assertEqual(u'1979', result[1]['datePublished'].pvalue)
def test_specifying_attr(self): result = WikiPage.wikiquery(u'"GEB" > author') self.assertEqual(u'Douglas Hofstadter', result['author'].pvalue) result = WikiPage.wikiquery(u'"GEB" > name, author, datePublished') self.assertEqual(u'Douglas Hofstadter', result['author'].pvalue) self.assertEqual(u'GEB', result['name'].pvalue) self.assertEqual(u'1979', result['datePublished'].pvalue)
def get(self, path, head=False): cache.create_prc() query = WikiPage.path_to_title(path) user = get_cur_user() result = WikiPage.wikiquery(query, user) view = self.request.GET.get('view', 'default') restype = get_restype(self.request) if restype == 'default' or restype == 'html': if view == 'bodyonly': html = template(self.request, 'bodyonly.html', { 'title': u'Search: %s ' % query, 'body': obj_to_html(result), }) else: html = template(self.request, 'wikiquery.html', { 'query': query, 'result': obj_to_html(result), }) self.response.headers['Content-Type'] = 'text/html; charset=utf-8' set_response_body(self.response, html, head) elif restype == 'json': self.response.headers[ 'Content-Type'] = 'application/json; charset=utf-8' set_response_body(self.response, json.dumps(result), head) else: self.abort(400, 'Unknown type: %s' % restype)
def test_user_with_permission(self): user = users.User('*****@*****.**') self.assertEqual([{ u'name': u'A' }, { u'name': u'B' }], WikiPage.wikiquery(u'schema:"Book"', user))
def get(self, path, head=False): cache.create_prc() query = WikiPage.path_to_title(path) user = get_cur_user() result = WikiPage.wikiquery(query, user) view = self.request.GET.get('view', 'default') restype = get_restype(self.request) if restype == 'default' or restype == 'html': if view == 'bodyonly': html = template(self.request, 'bodyonly.html', { 'title': u'Search: %s ' % query, 'body': obj_to_html(result), }) else: html = template(self.request, 'wikiquery.html', { 'query': query, 'result': obj_to_html(result), }) self.response.headers['Content-Type'] = 'text/html; charset=utf-8' set_response_body(self.response, html, head) elif restype == 'json': self.response.headers['Content-Type'] = 'application/json; charset=utf-8' set_response_body(self.response, json.dumps(result), head) else: self.abort(400, 'Unknown type: %s' % restype)
def test_complex(self): result = WikiPage.wikiquery( u'schema:"Thing/CreativeWork/Book/" > name, author') self.assertEqual(u'Douglas Hofstadter', result[0]['author'].pvalue) self.assertEqual(u'GEB', result[0]['name'].pvalue) self.assertEqual([u'Daniel Dennett', u'Douglas Hofstadter'], [v.pvalue for v in result[1]['author']]) self.assertEqual(u'The Mind\'s I', result[1]['name'].pvalue)
def test_by_schema(self): self.assertEqual([{ u'name': u'GEB' }, { u'name': u'The Mind\'s I' }], WikiPage.wikiquery(u'schema:"Thing/CreativeWork/Book/"'))
def test_by_name(self): self.assertEqual({u'name': u'GEB'}, WikiPage.wikiquery(u'"GEB"'))
def test_anonymous(self): self.assertEqual({u'name': u'A'}, WikiPage.wikiquery(u'schema:"Book" > name'))
def test_complex(self): self.assertEqual([{u'name': u'The Mind\'s I', u'author': [u'Daniel Dennett', u'Douglas Hofstadter']}, {u'author': u'Douglas Hofstadter', u'name': u'GEB'}], WikiPage.wikiquery(u'schema:"Thing/CreativeWork/Book/" > name, author'))
def load(self): query = WikiPage.path_to_title(self.path) return {'result': WikiPage.wikiquery(query, self.user), 'query': query}
def test_normal(self): self.assertEqual({u'name': u'A'}, WikiPage.wikiquery(u'schema:"Book"'))
def load(self): query = WikiPage.path_to_title(self.path) return { 'result': WikiPage.wikiquery(query, self.req.user), 'query': query }
def test_by_abbr_schema(self): self.assertEqual([{u'name': u'The Mind\'s I'}, {u'name': u'GEB'}], WikiPage.wikiquery(u'schema:"Book"'))
def test_by_schema(self): self.assertEqual([{u'name': u'The Mind\'s I'}, {u'name': u'GEB'}], WikiPage.wikiquery(u'schema:"Thing/CreativeWork/Book/"'))
def test_user_with_permission(self): user = users.User('*****@*****.**') self.assertEqual([{u'name': u'A'}, {u'name': u'B'}], WikiPage.wikiquery(u'schema:"Book"', user))
def test_anonymous(self): self.assertEqual({u'name': u'A'}, WikiPage.wikiquery(u'schema:"Book"', None))
def test_by_abbr_schema(self): self.assertEqual([{ u'name': u'GEB' }, { u'name': u'The Mind\'s I' }], WikiPage.wikiquery(u'schema:"Book"'))
def test_by_attr(self): self.assertEqual([{ u'name': u'GEB' }, { u'name': u'The Mind\'s I' }], WikiPage.wikiquery(u'author:"Douglas Hofstadter"'))
def test_by_attr(self): self.assertEqual([{u'name': u'The Mind\'s I'}, {u'name': u'GEB'}], WikiPage.wikiquery(u'author:"Douglas Hofstadter"'))
def load(self): query = WikiPage.path_to_title(self.path) return {"result": WikiPage.wikiquery(query, self.user), "query": query}
def test_complex(self): result = WikiPage.wikiquery(u'schema:"Thing/CreativeWork/Book/" > name, author') self.assertEqual(u'Douglas Hofstadter', result[0]['author'].pvalue) self.assertEqual(u'GEB', result[0]['name'].pvalue) self.assertEqual([u'Daniel Dennett', u'Douglas Hofstadter'], [v.pvalue for v in result[1]['author']]) self.assertEqual(u'The Mind\'s I', result[1]['name'].pvalue)
def test_specifying_attr(self): self.assertEqual({u'author': u'Douglas Hofstadter'}, WikiPage.wikiquery(u'"GEB" > author')) self.assertEqual({u'author': u'Douglas Hofstadter', u'name': u'GEB', u'datePublished': u'1979'}, WikiPage.wikiquery(u'"GEB" > name, author, datePublished'))