Work in progress: indexing and searching

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1100 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2006-02-26 16:48:48 +00:00
parent ffc3707094
commit 15da165f09
2 changed files with 16 additions and 2 deletions

View file

@ -37,6 +37,7 @@ from zope.schema.interfaces import IIterableSource
from zope.security.proxy import removeSecurityProxy
from loops.concept import Concept, ConceptTypeSourceList, PredicateSourceList
from loops.browser.common import BaseView, LoopsTerms
from loops import util
class ConceptView(BaseView):
@ -126,7 +127,7 @@ class ConceptView(BaseView):
if searchTerm:
criteria['loops_title'] = searchTerm
if searchType:
criteria['loops_type'] = (searchType)
criteria['loops_type'] = (searchType, searchType)
cat = zapi.getUtility(ICatalog)
result = cat.searchResults(**criteria)
else:
@ -152,6 +153,19 @@ class ConceptView(BaseView):
for type in types:
yield terms.getTerm(type)
def conceptTypesForSearch(self):
types = ConceptTypeSourceList(self.context)
typesItems = [(':'.join(('loops:concept',
self.getConceptTypeTokenForSearch(t))), t.title)
for t in types]
return util.KeywordVocabulary(typesItems)
#terms = zapi.getMultiAdapter((types, self.request), ITerms)
#for type in types:
# yield terms.getTerm(type)
def getConceptTypeTokenForSearch(self, ct):
return ct is None and 'unknown' or zapi.getName(ct)
def predicates(self):
preds = PredicateSourceList(self.context)
terms = zapi.getMultiAdapter((preds, self.request), ITerms)

View file

@ -133,7 +133,7 @@
<span i18n:translate="">Type</span>
<select name="searchType">
<option value="*">Any</option>
<tal:types repeat="type view/conceptTypes">
<tal:types repeat="type view/conceptTypesForSearch">
<option value=".loops/concepts/topic"
i18n:translate=""
tal:attributes="value type/token;