本文整理汇总了Python中zope.schema.vocabulary.SimpleVocabulary.getTerm方法的典型用法代码示例。如果您正苦于以下问题:Python SimpleVocabulary.getTerm方法的具体用法?Python SimpleVocabulary.getTerm怎么用?Python SimpleVocabulary.getTerm使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zope.schema.vocabulary.SimpleVocabulary
的用法示例。
在下文中一共展示了SimpleVocabulary.getTerm方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: KeywordSource
# 需要导入模块: from zope.schema.vocabulary import SimpleVocabulary [as 别名]
# 或者: from zope.schema.vocabulary.SimpleVocabulary import getTerm [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 getTerm [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: commentPolicyVocabulary
# 需要导入模块: from zope.schema.vocabulary import SimpleVocabulary [as 别名]
# 或者: from zope.schema.vocabulary.SimpleVocabulary import getTerm [as 别名]
def commentPolicyVocabulary(context):
""" returns Policy for discussion
"""
vocab = SimpleVocabulary([
SimpleTerm(1, 'open', 'Open'),
SimpleTerm(4, 'approval', 'Open with approval'),
SimpleTerm(2, 'closed', 'Closed'),
SimpleTerm(3, 'disabled', 'Disabled')])
vocab.getTerm(1).description = _(
'Comments are allowed.')
vocab.getTerm(2).description = _(
'Existing comments will be displayed, new comments are not allowed.')
vocab.getTerm(3).description = _(
'Comments will not be displayed, new comments are not allowed.')
vocab.getTerm(4).description = _(
'Comments are allowed but require approval for non auth users.')
return vocab
示例4: KeywordSource
# 需要导入模块: from zope.schema.vocabulary import SimpleVocabulary [as 别名]
# 或者: from zope.schema.vocabulary.SimpleVocabulary import getTerm [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()]
示例5: CustomSearchableTextSource
# 需要导入模块: from zope.schema.vocabulary import SimpleVocabulary [as 别名]
# 或者: from zope.schema.vocabulary.SimpleVocabulary import getTerm [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)
示例6: SimpleVocabulary
# 需要导入模块: from zope.schema.vocabulary import SimpleVocabulary [as 别名]
# 或者: from zope.schema.vocabulary.SimpleVocabulary import getTerm [as 别名]
#
##############################################################################
"""
$Id$
"""
from zope import interface, schema
from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary
from zojax.content.permissions.interfaces import _
sharingVocabulary = SimpleVocabulary(
[SimpleTerm('inherited', 'inherited', _('INHERITED')),
SimpleTerm('open', 'open', _('OPEN')),
SimpleTerm('custom', 'custom', _('CUSTOM'))])
sharingVocabulary.getTerm('inherited').description = _(
'Content item will inherit its permissions from the parent container.')
sharingVocabulary.getTerm('open').description = _(
'Any user can view this content item.')
sharingVocabulary.getTerm('custom').description = _(
'You can select groups and users who can view this content.')
class ISharingContent(interface.Interface):
method = schema.Choice(
title = _(u'Access control'),
description = _(u'Who may view this content.'),
vocabulary = sharingVocabulary,
required = True)