make FullQuery also usable for full-text queries without children

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3459 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2009-07-16 10:19:56 +00:00
parent b91c67f038
commit 412440dcfb

View file

@ -114,12 +114,16 @@ class BaseQuery(object):
class FullQuery(BaseQuery): class FullQuery(BaseQuery):
def query(self, text=None, type=None, useTitle=True, useFull=False, def query(self, text=None, type=None, useTitle=True, useFull=False,
conceptTitle=None, conceptUid=None, conceptType=None, **kw): conceptTitle=None, conceptUid=None, conceptType=None,
withChildren=True, **kw):
result = set() result = set()
scores = {} scores = {}
intids = component.getUtility(IIntIds) intids = component.getUtility(IIntIds)
rc = self.queryConceptsWithChildren(title=conceptTitle, uid=conceptUid, if withChildren:
type=conceptType) rc = self.queryConceptsWithChildren(title=conceptTitle, uid=conceptUid,
type=conceptType)
else:
rc = self.queryConcepts(title=conceptTitle, type=type)
if not rc and not text and '*' in type: # there should be some sort of selection... if not rc and not text and '*' in type: # there should be some sort of selection...
return ScoredSet(result, scores) return ScoredSet(result, scores)
if text or type != 'loops:*': # TODO: this may be highly inefficient! if text or type != 'loops:*': # TODO: this may be highly inefficient!