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 zope.security.proxy import removeSecurityProxy
from loops.concept import Concept, ConceptTypeSourceList, PredicateSourceList from loops.concept import Concept, ConceptTypeSourceList, PredicateSourceList
from loops.browser.common import BaseView, LoopsTerms from loops.browser.common import BaseView, LoopsTerms
from loops import util
class ConceptView(BaseView): class ConceptView(BaseView):
@ -126,7 +127,7 @@ class ConceptView(BaseView):
if searchTerm: if searchTerm:
criteria['loops_title'] = searchTerm criteria['loops_title'] = searchTerm
if searchType: if searchType:
criteria['loops_type'] = (searchType) criteria['loops_type'] = (searchType, searchType)
cat = zapi.getUtility(ICatalog) cat = zapi.getUtility(ICatalog)
result = cat.searchResults(**criteria) result = cat.searchResults(**criteria)
else: else:
@ -152,6 +153,19 @@ class ConceptView(BaseView):
for type in types: for type in types:
yield terms.getTerm(type) 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): def predicates(self):
preds = PredicateSourceList(self.context) preds = PredicateSourceList(self.context)
terms = zapi.getMultiAdapter((preds, self.request), ITerms) terms = zapi.getMultiAdapter((preds, self.request), ITerms)

View file

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