本文整理汇总了Python中zope.schema.vocabulary.SimpleVocabulary.__contains__方法的典型用法代码示例。如果您正苦于以下问题:Python SimpleVocabulary.__contains__方法的具体用法?Python SimpleVocabulary.__contains__怎么用?Python SimpleVocabulary.__contains__使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zope.schema.vocabulary.SimpleVocabulary
的用法示例。
在下文中一共展示了SimpleVocabulary.__contains__方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: KeywordSource
# 需要导入模块: from zope.schema.vocabulary import SimpleVocabulary [as 别名]
# 或者: from zope.schema.vocabulary.SimpleVocabulary import __contains__ [as 别名]
class KeywordSource(object):
implements(IQuerySource)
def __init__(self, context):
self.context = context
self.vocab = SimpleVocabulary(
[SimpleVocabulary.createTerm(DATA[x], x, DATA[x])
for x in DATA]
)
def __contains__(self, term):
return self.vocab.__contains__(term)
def __iter__(self):
return self.vocab.__iter__()
def __len__(self):
return self.vocab.__len__()
def getTerm(self, value):
return self.vocab.getTerm(value)
def getTermByToken(self, value):
return self.vocab.getTermByToken(value)
def search(self, query_string):
q = query_string.lower()
return [kw
for kw in self.vocab._terms
if q.lower() in kw.value]
示例2: KeywordSource
# 需要导入模块: from zope.schema.vocabulary import SimpleVocabulary [as 别名]
# 或者: from zope.schema.vocabulary.SimpleVocabulary import __contains__ [as 别名]
class KeywordSource(object):
interface.implements(IQuerySource)
def __init__(self, context):
self.context = context
catalog = getToolByName(context, 'portal_catalog')
self.keywords = catalog.uniqueValuesFor('Subject')
terms = []
for x in self.keywords:
terms.append(SimpleTerm(x, x, unicode(x)))
self.vocab = SimpleVocabulary(terms)
def __contains__(self, term):
return self.vocab.__contains__(term)
def __iter__(self):
return self.vocab.__iter__()
def __len__(self):
return self.vocab.__len__()
def getTerm(self, value):
return self.vocab.getTerm(value)
def getTermByToken(self, value):
return self.vocab.getTermByToken(value)
def search(self, query_string):
q = query_string.lower()
return [self.getTerm(kw) for kw in self.keywords if q in kw.lower()]
示例3: KeywordSource
# 需要导入模块: from zope.schema.vocabulary import SimpleVocabulary [as 别名]
# 或者: from zope.schema.vocabulary.SimpleVocabulary import __contains__ [as 别名]
class KeywordSource(object):
implements(IQuerySource)
def __init__(self, context):
self.context = context
catalog = getToolByName(context, 'portal_catalog')
self.keywords = catalog.uniqueValuesFor('Subject')
def safe_str(s):
if type(s) == unicode:
return s.encode("utf-8", "replace")
else:
return s
def safe_unicode(s):
if type(s) == str:
return unicode(s, "utf-8", "replace")
else:
return s
# XXX: plone.z3cform monkeypatches z3c.forms to decode
# all form values in query to unicode; in short, one cannot
# use non-ascii characters in tokens (z3c.form expects tokens
# to be encoded strings, but plone.z3cform breaks this)
self.vocab = SimpleVocabulary([
SimpleTerm(safe_unicode(x), quote(safe_str(x)), safe_unicode(x))
for x in self.keywords])
def __contains__(self, term):
return self.vocab.__contains__(term)
def __iter__(self):
return self.vocab.__iter__()
def __len__(self):
return self.vocab.__len__()
def getTerm(self, value):
def safe_unicode(s):
if type(s) == str:
return unicode(s, "utf-8", "replace")
else:
return s
return self.vocab.getTerm(safe_unicode(value))
def getTermByToken(self, value):
return self.vocab.getTermByToken(value)
def search(self, query_string):
q = query_string.lower()
return [self.getTerm(kw) for kw in self.keywords if q in kw.lower()]
示例4: CustomSearchableTextSource
# 需要导入模块: from zope.schema.vocabulary import SimpleVocabulary [as 别名]
# 或者: from zope.schema.vocabulary.SimpleVocabulary import __contains__ [as 别名]
class CustomSearchableTextSource(SearchableTextSource):
implements(ISource)
classProvides(IContextSourceBinder)
def __init__(self, context, base_query={}, default_query=None):
super(CustomSearchableTextSource, self).__init__(context, base_query=base_query, default_query=default_query)
self.vocabulary = SimpleVocabulary([SimpleTerm(a, a, a) for a in self.baseTerms()])
def baseTerms(self):
query = self.base_query.copy()
try:
results = (x.getPath()[len(self.portal_path):] for x in self.catalog(**query))
except ParseError:
return []
if query.has_key('path'):
path = query['path']['query'][len(self.portal_path):]
if path != '':
return itertools.chain((path,), results)
return results
def search(self, query_string):
results = super(CustomSearchableTextSource, self).search(query_string)
return SimpleVocabulary([SimpleTerm(a, a, a) for a in results])
def __contains__(self, value):
return self.vocabulary.__contains__(value)
def __iter__(self):
return self.vocabulary.__iter__()
def getTerm(self, value):
return self.vocabulary.getTerm(value)
def getTermByToken(self, token):
return self.vocabulary.getTermByToken(token)