当前位置: 首页>>代码示例>>Python>>正文


Python SimpleVocabulary.__contains__方法代码示例

本文整理汇总了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]
开发者ID:cedricmessiant,项目名称:collective.z3cform.chosen,代码行数:32,代码来源:demo.py

示例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()]
开发者ID:collective,项目名称:collective.z3cform.html5widgets,代码行数:32,代码来源:html5widgets.py

示例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()]
开发者ID:pingviini,项目名称:collective.dynapage,代码行数:54,代码来源:dynacollection.py

示例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)
开发者ID:vindula,项目名称:Solgema.fullcalendar,代码行数:39,代码来源:interfaces.py


注:本文中的zope.schema.vocabulary.SimpleVocabulary.__contains__方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。