• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python component.getUtilitiesFor函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中zope.component.getUtilitiesFor函数的典型用法代码示例。如果您正苦于以下问题:Python getUtilitiesFor函数的具体用法?Python getUtilitiesFor怎么用?Python getUtilitiesFor使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了getUtilitiesFor函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: _purgePortlets

    def _purgePortlets(self):
        """Unregister all portlet managers and portlet types, and remove
        portlets assigned to the site root
        """

        # Purge portlet types

        registeredPortletTypes = [r.name for r in self.context.registeredUtilities()
                                        if r.provided == IPortletType]

        for name, portletType in getUtilitiesFor(IPortletType):
            if name in registeredPortletTypes:
                self.context.unregisterUtility(provided=IPortletType, name=name)

        # Purge portlets assigned to the site root
        site = self.environ.getSite()

        for name, portletManager in getUtilitiesFor(IPortletManager):
            assignable = queryMultiAdapter((site, portletManager), IPortletAssignmentMapping)
            if assignable is not None:
                for key in list(assignable.keys()):
                    del assignable[key]

        # Purge portlet manager registrations - this will also get rid of
        # global portlet registrations, since these utilities disappear

        portletManagerRegistrations = [r for r in self.context.registeredUtilities()
                                        if r.provided.isOrExtends(IPortletManager)]

        for registration in portletManagerRegistrations:
            self.context.unregisterUtility(provided=registration.provided,
                                           name=registration.name)
开发者ID:SyZn,项目名称:plone.app.portlets,代码行数:32,代码来源:portlets.py


示例2: roles

    def roles(self):
        """Get a list of roles that can be managed.
        
        Returns a list of dics with keys:
        
            - id
            - title
        """
        context = aq_inner(self.context)
        portal_membership = getToolByName(context, 'portal_membership')
        
        pairs = []

        #check to see if OpenOCW installed
        portal_setup = self.aq_parent.portal_setup
        if 'openOCW-final' in portal_setup.getImportStepRegistry().listSteps():
            #user default sharing page roles
            for name, utility in getUtilitiesFor(ISharingPageRole):
                permission = utility.required_permission
                if permission is None or portal_membership.checkPermission(permission, context):
                    pairs.append(dict(id = name, title = utility.title))
        else:
            #use eduCommons sharing page roles
            for name, utility in getUtilitiesFor(IeduCommonsSharingPageRole):
                permission = utility.required_permission
                if permission is None or portal_membership.checkPermission(permission, context):
                    pairs.append(dict(id = name, title = utility.title))

        pairs.sort(lambda x, y: cmp(x['id'], y['id']))
        return pairs
开发者ID:dtgit,项目名称:dtedu,代码行数:30,代码来源:sharing.py


示例3: _apply_digest

    def _apply_digest(self, site, storage, digest_info):
        """Filter digest info using registered filters
           apply registered strategies for user with filtered info
        """
        filter_rules = [r[1] for r in getUtilitiesFor(IDigestFilterRule)]
        digest_strategies = [r[1] for r in getUtilitiesFor(IDigestAction)]

        for subscriber, info in digest_info.items():
            for rule in filter_rules:
                info = rule(site, subscriber, info)

            for action in digest_strategies:
                action(site, storage, subscriber, info)
开发者ID:collective,项目名称:collective.maildigest,代码行数:13,代码来源:tool.py


示例4: getData

 def getData(self):
     data = dict()
     data["Report Date"] = datetime.utcnow().isoformat()
     for name, utilClass in getUtilitiesFor(ICallHomeCollector):
         chData = utilClass().generateData()
         if chData:
             data.update(chData)
     if self._master:
         for name, utilClass in getUtilitiesFor(IMasterCallHomeCollector):
             chData = utilClass().generateData(self._dmd)
             if chData:
                 data.update(chData)
     return data
开发者ID:SteelHouseLabs,项目名称:zenoss-prodbin,代码行数:13,代码来源:callhome.py


示例5: _signalToContextDict

def _signalToContextDict(signal, zopeurl, notification=None, guidManager=None):
    summary = signal.event
    # build basic event context wrapper for notifications
    if signal.clear:
        # aged and closed events have clear == True, but they don't have an associated clear event
        #   spoof a clear event in those cases, so the notification messages contain useful info
        if summary.status == zep_pb2.STATUS_AGED:
            occur = signal.clear_event.occurrence.add()
            occur.summary = "Event aging task aged out the event."
            summary.cleared_by_event_uuid = "Event aging task"
        elif summary.status == zep_pb2.STATUS_CLOSED:
            occur = signal.clear_event.occurrence.add()
            
            # once an event is in a closed state, the ownerid (current_user_name) is removed
            # determine who closed the event by extracting the most recent user_name in the event's audit_log
            last_audit_entry = max(signal.event.audit_log, key=lambda x:x.timestamp)
            summary.current_user_name = last_audit_entry.user_name
            
            occur.summary = "User '" + summary.current_user_name + "' closed the event in the Zenoss event console."
            summary.cleared_by_event_uuid = "User action"
        data = NotificationEventContextWrapper(summary, signal.clear_event)
    else:
        data = NotificationEventContextWrapper(summary)

    # add urls to event context
    data['urls']['eventUrl'] = getEventUrl(zopeurl, summary.uuid)
    data['urls']['ackUrl'] = getAckUrl(zopeurl, summary.uuid)
    data['urls']['closeUrl'] = getCloseUrl(zopeurl, summary.uuid)
    proxy = EventSummaryProxy(summary)
    data['urls']['deviceUrl'] = _getBaseDeviceUrl(zopeurl, proxy.DeviceClass, proxy.device)
    data['urls']['eventsUrl'] = getEventsUrl(zopeurl, proxy.DeviceClass, proxy.device)
    data['urls']['reopenUrl'] = getReopenUrl(zopeurl, summary.uuid)
    data['urls']['baseUrl'] = zopeurl
    # now process all custom processors that might be registered to enhance
    # the event context
    for key, processor in getUtilitiesFor(IProcessSignal):
        data[key] = processor.process(signal)

    # Process INotificationContextProvider
    for key, contextProvider in getUtilitiesFor(INotificationContextProvider):
        contextProvider.updateContext(signal, data)

    # Add trigger and notification info
    if notification:
        data['notification']['name'] = notification.titleOrId()
    if guidManager:
        trigger = guidManager.getObject(signal.trigger_uuid)
        if trigger:
            data['trigger']['name'] = trigger.titleOrId()

    return data
开发者ID:bbc,项目名称:zenoss-prodbin,代码行数:51,代码来源:actions.py


示例6: nonfolderish_possible_descriptors

def nonfolderish_possible_descriptors(context):
    portal_type = getattr(aq_inner(context), 'portal_type', None)
    if portal_type is None:
        return PossibleDescriptors()

    all = getUtilitiesFor(\
          interfaces.IContentTypeDescriptor)
    all = set([(n, c) for n, c in all])
    folderish = getUtilitiesFor(\
          interfaces.IFolderishContentTypeDescriptor)
    folderish = set([(n, c) for n, c in folderish])

    return PossibleDescriptors(list(all.difference(folderish)),
                               'nonfolderish')
开发者ID:collective,项目名称:p4a.subtyper,代码行数:14,代码来源:default.py


示例7: connect_all

def connect_all(event=None):
    """Connect all connections, which have related utilities registered"""

    # Notify all, who want to register callbacks for connections
    notify(BeforeBrokerConnectEvent())

    # Gather all producer and consumer utility registrations
    from collective.zamqp.interfaces import IProducer, IConsumer
    regs = list(getUtilitiesFor(IProducer)) + list(getUtilitiesFor(IConsumer))

    # Connect all connections, which have related utilities registered
    for connection_id, connection in getUtilitiesFor(IBrokerConnection):
        if filter(lambda reg: reg[1].connection_id == connection_id, regs):
            connection.connect()
开发者ID:datakurre,项目名称:collective.zamqp,代码行数:14,代码来源:connection.py


示例8: test_provideConnection

    def test_provideConnection(self):

        conns = list(getUtilitiesFor(IZopeDatabaseAdapter))
        self.assertEqual(conns, [])
        connectionstub = queryUtility(IZopeDatabaseAdapter, 'stub')
        self.assertEqual(connectionstub, None)

        self.context = xmlconfig.file("rdb.zcml", zope.rdb.tests)
        connectionstub = queryUtility(IZopeDatabaseAdapter, 'stub')
        connection = connectionstub()
        self.assertEqual(connectionstub.__class__, DAStub)
        conns = getUtilitiesFor(IZopeDatabaseAdapter)
           
        self.assertEqual([c[0] for c in conns], ["stub"])
        self.assertEqual(connection.__class__, ZopeConnection)
开发者ID:kislovm,项目名称:findburo,代码行数:15,代码来源:test_directives.py


示例9: get_nsmap

def get_nsmap():
    schema_metadata_handlers = tuple(
        getUtilitiesFor(ISchemaMetadataHandler)
    )
    field_metadata_handlers = tuple(
        getUtilitiesFor(IFieldMetadataHandler)
    )

    nsmap = {}
    metadata_handlers = schema_metadata_handlers + field_metadata_handlers
    for name, handler in metadata_handlers:
        namespace, prefix = handler.namespace, handler.prefix
        if namespace is not None and prefix is not None:
            nsmap[prefix] = namespace
    return nsmap
开发者ID:abstract-open-solutions,项目名称:collective.formbuilder,代码行数:15,代码来源:utils.py


示例10: roles

    def roles(self):
        """Get a list of roles that can be managed.

        Returns a list of dicts with keys:

            - id
            - title
        """
        context = self.context
        portal_membership = getToolByName(context, 'portal_membership')

        pairs = []

        for name, utility in getUtilitiesFor(ISharingPageRole):
            permission = utility.required_permission
            if permission is not None:
                if not portal_membership.checkPermission(permission, context):
                    continue
            # be friendly to utilities implemented without required_interface
            iface = getattr(utility, 'required_interface', None)
            if iface is not None and not iface.providedBy(context):
                continue
            pairs.append(dict(id = name, title = utility.title))

        pairs.sort(key=lambda x: normalizeString(translate(x["title"], context=self.request)))
        return pairs
开发者ID:CGTIC,项目名称:Plone_SP,代码行数:26,代码来源:sharing.py


示例11: listContentTypes

    def listContentTypes(self):
        cts = []
        for name, ct in getUtilitiesFor(ISchemaAware):
            cts.append((ct.title, ct))

        cts.sort()
        return [ct for _t, ct in cts]
开发者ID:Zojax,项目名称:zojax.content.schema,代码行数:7,代码来源:configlet.py


示例12: get_delivery_services

 def get_delivery_services(self):
     result = atapi.DisplayList()
     result.add(u'mailhost', _(u'EasyNewsletter_label_PloneMailHost', u'Default Plone Mailhost'))
     for utility in getUtilitiesFor(IMailHost):
         if utility[0]:
             result.add(utility[0], utility[0])
     return result
开发者ID:agnogueira,项目名称:Products.EasyNewsletter,代码行数:7,代码来源:EasyNewsletter.py


示例13: get

 def get(self, section, name=None):
     utils = getUtilitiesFor(IConfiguration)
     for utilid, util in utils:
         if utilid:
             res = util.get(section, name)
             if res:
                 return res
开发者ID:bithub,项目名称:bit.bot.base,代码行数:7,代码来源:configuration.py


示例14: principalInfoStorages

def principalInfoStorages(context):
    terms = []
    for name, storage in getUtilitiesFor(IPrincipalInfoStorage):
        terms.append((storage.name, SimpleTerm(name, name, storage.name)))

    terms.sort()
    return SimpleVocabulary([term for n, term in terms])
开发者ID:Zojax,项目名称:zojax.authentication,代码行数:7,代码来源:principalinfo.py


示例15: quizz_choice

def quizz_choice(context):
    terms = []
    utils = getUtilitiesFor(IQuizz)
    for name, quizz in utils:
        if check_quizz(name, quizz, context):
            terms.append(SimpleTerm(value=name, title=quizz.__title__))
    return SimpleVocabulary(terms)
开发者ID:novareto,项目名称:nva.psyquizz,代码行数:7,代码来源:deferred.py


示例16: initialize

    def initialize(self, context, request):
        """ called by the API Framework
        """
        logger.info("DefaultRouter.initialize: context=%r request=%r" % (context, request))

        self.context = context
        self.request = request

        self.environ = request.environ
        self.http_host = request["HTTP_HOST"]
        self.url = request.getURL()

        if self.is_initialized:
            return

        logger.info("DefaultRouter::initialize")
        for name, provider in component.getUtilitiesFor(IRouteProvider):
            logger.info("DefaultRouter::initialize: name=%s, provider=%r", name, provider)

            if getattr(provider, "initialize", None):
                provider.initialize(context, request)

            for route in provider.routes:
                self.add_url_rule(*route)

        self.is_initialized = True
开发者ID:pombredanne,项目名称:plone.jsonapi.core,代码行数:26,代码来源:router.py


示例17: guessBody

    def guessBody(self, table, header, output):
        """ Discover column types from table body
        """
        utilities = getUtilitiesFor(IGuessType)
        utilities = sorted(utilities, cmp=compare)

        missing = self.missing

        for row in table:
            for index, cell in enumerate(row):
                # Skip missing values
                if cell.lower().strip() in missing:
                    continue

                label = header[index]
                title, columnType = self.column_type(label)

                # Type in header, skip this column
                if columnType:
                    continue

                output.setdefault(title, {})
                for name, guess in utilities:
                    if guess(cell, label):
                        output[title].setdefault(name, guess.priority)
                        output[title][name] += 1
开发者ID:eea,项目名称:eea.app.visualization,代码行数:26,代码来源:guess.py


示例18: show_quickupload_action

 def show_quickupload_action(self):
     portal = getUtility(IPloneSiteRoot)
     qup_prefs = IQuickUploadControlPanel(portal)
     if not qup_prefs.show_upload_action:
         return False
     context_state = getMultiAdapter(
         (aq_inner(self.context), self.request),
         name=u'plone_context_state')
     if not (
             context_state.is_default_page() or
             context_state.is_folderish()):
         return False
     # If the Quickuploader portlet is shown in the current context, don't
     # show the Upload action, since the portlet takes precedence
     portlet_managers = [
         x[1] for x in getUtilitiesFor(IPortletManager)
         if not x[0].startswith('plone.dashboard')
     ]
     for mgr in portlet_managers:
         retriever = getMultiAdapter((self.context, mgr), IPortletRetriever)
         portlets = retriever.getPortlets()
         for portlet in portlets:
             if IQuickUploadPortlet.providedBy(portlet["assignment"]):
                 return False
     return True
开发者ID:datakurre,项目名称:collective.quickupload,代码行数:25,代码来源:utils.py


示例19: items

 def items(self):
     results = [(name, TypeInterface(iface, self, name))
                for name, iface in getUtilitiesFor(IInterface)
                if iface.extends(IInterface)]
     results.sort(lambda x, y: cmp(x[1].interface.getName(),
                                   y[1].interface.getName()))
     return results
开发者ID:jean,项目名称:zope.app.apidoc,代码行数:7,代码来源:type.py


示例20: update_vocabulary

    def update_vocabulary(self, vocab):
        site = getSite()
        path = '/'.join(vocab.getPhysicalPath())
        logger.info("Updating dynamic vocabulary: %s" % path)

        vocab_id = vocab.vocabulary_id

        registered_vocabs = [i[0] for i in getUtilitiesFor(IVocabularyFactory)]

        if not vocab_id:
            logger.warn(
                "This vocabulary was not registered, you need to register "
                "it first."
            )
            return False

        elif vocab_id not in registered_vocabs:
            logger.warn("There is no vocabulary registered with id: %s"
                        % vocab_id)
            return False

        vocabulary = queryUtility(IVocabularyFactory, vocab_id, context=site)

        vocabulary.clearTerms()

        for child in vocab.getChildNodes():
            vocabulary.addTerm(child)

        sm = site.getSiteManager()
        sm.registerUtility(vocabulary, IVocabularyFactory, vocab_id)
        logger.info("Vocabulary updated.")

        return True
开发者ID:enfold,项目名称:collective.dynamicvocab,代码行数:33,代码来源:utility.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python component.getUtility函数代码示例发布时间:2022-05-26
下一篇:
Python component.getSiteManager函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap