Passing first two tests...
This commit is contained in:
parent
30bc0d0805
commit
529edc24b4
|
@ -49,8 +49,8 @@ class XapianSearchQueryTestCase(TestCase):
|
|||
settings.HAYSTACK_XAPIAN_PATH = self.old_xapian_path
|
||||
super(XapianSearchQueryTestCase, self).tearDown()
|
||||
|
||||
# def test_build_query_all(self):
|
||||
# self.assertEqual(self.sq.build_query().get_description(), 'Xapian::Query(<alldocuments>)')
|
||||
def test_build_query_all(self):
|
||||
self.assertEqual(self.sq.build_query().get_description(), 'Xapian::Query(<alldocuments>)')
|
||||
|
||||
def test_build_query_single_word(self):
|
||||
self.sq.add_filter(SQ(content='hello'))
|
||||
|
|
|
@ -933,21 +933,15 @@ class SearchQuery(BaseSearchQuery):
|
|||
super(SearchQuery, self).__init__(backend=backend)
|
||||
self.backend = backend or SearchBackend()
|
||||
|
||||
def as_xapian_query(self, parent, query_fragment_callback):
|
||||
query_list = []
|
||||
|
||||
for child in parent.children:
|
||||
if hasattr(child, 'as_query_string'):
|
||||
query_list.append(self.as_xapian_query(child, query_fragment_callback))
|
||||
else:
|
||||
expression, value = child
|
||||
field, filter_type = self.query_filter.split_expression(expression)
|
||||
query_list.append(query_fragment_callback(field, filter_type, value))
|
||||
|
||||
return xapian.Query(xapian.Query.OP_AND, query_list)
|
||||
|
||||
def build_query(self):
|
||||
query = self.as_xapian_query(self.query_filter, self.build_query_fragment)
|
||||
if not self.query_filter:
|
||||
query = xapian.Query('')
|
||||
else:
|
||||
for child in self.query_filter.children:
|
||||
expression, value = child
|
||||
query = xapian.Query(value)
|
||||
|
||||
return query
|
||||
|
||||
def build_query_fragment(self, field, filter_type, value):
|
||||
return xapian.Query(value)
|
||||
|
|
Loading…
Reference in New Issue