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

Python zapi.getUtility函数代码示例

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

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



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

示例1: cities

    def cities(self, context):

        root = zapi.getUtility(Products.CMFPlone.interfaces.IPloneSiteRoot)
        cat = root.portal_catalog
        results = []
        keys = []
        
        ## All cities
        
        allcities_util = zapi.getUtility(ISwissCities)
        allcities = allcities_util.cities()
        #print allcities
        allcities_dict = dict(allcities)
        
        # Contextualize the list
        brains = cat({'portal_type': ['JubinStationPartner','JubinRestaurantPartner','JubinCommercialPartner',],
                      'path': '/'.join(context.getPhysicalPath())
                      })
                      
        for brain in brains:
            obj = brain.getObject()
            city_key = obj.city
            if city_key in keys:
                continue
            keys.append(city_key)
        
        # Now build the list of key/value pairs
        for k in keys:
            v = allcities_dict.get(k, '')
            if v:
                results.append((k, v))

        results = sorted(results,key=operator.itemgetter(0))
        return results
开发者ID:kamon,项目名称:jubin.site,代码行数:34,代码来源:vocabularies.py


示例2: test_nestedSitesDontConflictButStillAcquire

    def test_nestedSitesDontConflictButStillAcquire(self):
        # let's register a dummy utility in the dummy site
        dummy = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, dummy)

        # let's also create a subsite and make that our site
        manage_addDummySite(self.folder.site, 'subsite')
        enableLocalSiteHook(self.folder.site.subsite)
        setSite(self.folder.site.subsite)

        # we should still be able to lookup the original utility from
        # the site one level above
        self.assertEqual(zapi.getUtility(IDummyUtility), dummy)

        # now we register a dummy utility in the subsite and see that
        # its registration doesn't conflict
        subdummy = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, subdummy)

        # when we look it up we get the more local one now because the
        # more local one shadows the less local one
        self.assertEqual(zapi.getUtility(IDummyUtility), subdummy)

        # getAllUtilitiesFor gives us both the more local and the less
        # local utility (XXX not sure if this is the right semantics
        # for getAllUtilitiesFor)
        self.assertEqual(sets.Set(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)),
                         sets.Set([subdummy, dummy]))

        # getUtilitiesFor will only find one, because the more local
        # one shadows the less local one
        self.assertEqual(list(zapi.getUtilitiesFor(IDummyUtility)),
                         [('', subdummy)])
开发者ID:goschtl,项目名称:zope,代码行数:35,代码来源:test_utility.py


示例3: test_getNextUtility

    def test_getNextUtility(self):
        # test local site vs. global site
        global_dummy = DummyUtility()
        provideUtility(global_dummy, IDummyUtility)

        local_dummy = DummyUtility()
        sm = getSiteManager()
        sm.registerUtility(IDummyUtility, local_dummy)

        self.assertEquals(zapi.getUtility(IDummyUtility), local_dummy)
        self.assertEquals(getNextUtility(self.folder.site, IDummyUtility),
                          global_dummy)

        # test local site vs. nested local site
        manage_addDummySite(self.folder.site, 'subsite')
        import warnings
        showwarning = warnings.showwarning
        warnings.showwarning = lambda *a, **k: None
        enableLocalSiteHook(self.folder.site.subsite)
        warnings.showwarning = showwarning

        sublocal_dummy = DummyUtility()
        sm = getSiteManager()
        sm.registerUtility(IDummyUtility, sublocal_dummy)

        self.assertEquals(zapi.getUtility(IDummyUtility), sublocal_dummy)
        self.assertEquals(getNextUtility(self.folder.site.subsite, IDummyUtility),
                          local_dummy)
        self.assertEquals(getNextUtility(self.folder.site, IDummyUtility),
                          global_dummy)
开发者ID:goschtl,项目名称:zope,代码行数:30,代码来源:test_utility.py


示例4: test_getNextUtility

    def test_getNextUtility(self):
        # test local site vs. global site
        global_dummy = DummyUtility()
        provideUtility(global_dummy, IDummyUtility)

        local_dummy = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, local_dummy)

        self.assertEquals(zapi.getUtility(IDummyUtility), local_dummy)
        self.assertEquals(getNextUtility(self.folder.site, IDummyUtility),
                          global_dummy)

        # test local site vs. nested local site
        manage_addDummySite(self.folder.site, 'subsite')
        enableLocalSiteHook(self.folder.site.subsite)
        setSite(self.folder.site.subsite)

        sublocal_dummy = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, sublocal_dummy)

        self.assertEquals(zapi.getUtility(IDummyUtility), sublocal_dummy)
        self.assertEquals(getNextUtility(self.folder.site.subsite, IDummyUtility),
                          local_dummy)
        self.assertEquals(getNextUtility(self.folder.site, IDummyUtility),
                          global_dummy)
开发者ID:goschtl,项目名称:zope,代码行数:27,代码来源:test_utility.py


示例5: __init__

 def __init__(self, context, request):
     super(SiteManagementView, self).__init__(context, request)
     if 'activeTool' in request:
         request.response.setCookie('SetActiveTool', request['activeTool'],
                                    path="/")
         self.activeTool = zapi.getUtility(IToolConfiguration,
                                           request['activeTool'])
     elif 'SetActiveTool' in request:
         self.activeTool = zapi.getUtility(IToolConfiguration,
                                           request['SetActiveTool'])
开发者ID:BackupTheBerlios,项目名称:cctools-svn,代码行数:10,代码来源:tools.py


示例6: test_registerTwoUtilitiesWithSameNameDifferentInterface

    def test_registerTwoUtilitiesWithSameNameDifferentInterface(self):
        sm = zapi.getSiteManager()
        self.failUnless(IRegisterUtilitySimply.providedBy(sm))
        dummy = DummyUtility()
        superdummy = DummyUtility()
        directlyProvides(superdummy, ISuperDummyUtility)
        sm.registerUtility(IDummyUtility, dummy, 'dummy')
        sm.registerUtility(ISuperDummyUtility, superdummy, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, 'dummy'), dummy)
        self.assertEquals(zapi.getUtility(ISuperDummyUtility, 'dummy'),
                          superdummy)
开发者ID:goschtl,项目名称:zope,代码行数:12,代码来源:test_utility.py


示例7: install

 def install(self):
     tool_names = self.request['selected']
     for tool_name in tool_names:
         self.activeTool = zapi.getUtility(IToolConfiguration, tool_name)
         type_name = list(self.addingInfo())[0]['extra']['factory']
         self.action(type_name)
     self.activeTool = None
开发者ID:BackupTheBerlios,项目名称:cctools-svn,代码行数:7,代码来源:tools.py


示例8: action

    def action(self, type_name='', id=''):
        if not type_name:
            raise UserError("You must select the type of object to add.")

        if type_name.startswith('@@'):
            type_name = type_name[2:]

        if '/' in type_name:
            view_name  = type_name.split('/', 1)[0]
        else:
            view_name = type_name

        if zapi.queryView(self, view_name, self.request) is not None:
            url = "%s/%s=%s" % (
                zapi.getMultiAdapter((self, self.request), name=u"absolute_url"),
                type_name, id)
            self.request.response.redirect(url)
            return

        if not self.contentName:
            self.contentName = id

        factory = zapi.getUtility(IFactory, type_name)
        content = factory()

        notify(ObjectCreatedEvent(content))
        self.add(content)
        self.request.response.redirect(self.nextURL())
开发者ID:goschtl,项目名称:zope,代码行数:28,代码来源:adding.py


示例9: addingInfo

    def addingInfo(self):
        """Return menu data.

        This is sorted by title.
        """
        container = self.context
        menu_service = zapi.getService("BrowserMenu")
        result = []
        for menu_id in (self.menu_id, 'zope.app.container.add'):
            if not menu_id:
                continue
            for item in menu_service.getMenu(menu_id, self, self.request):
                extra = item.get('extra')
                if extra:
                    factory = extra.get('factory')
                    if factory:
                        factory = zapi.getUtility(IFactory, factory)
                        if not checkFactory(container, None, factory):
                            continue
                        elif item['extra']['factory'] != item['action']:
                            item['has_custom_add_view']=True
                result.append(item)

        result.sort(lambda a, b: cmp(a['title'], b['title']))
        return result
开发者ID:eea,项目名称:ALiSS_agents,代码行数:25,代码来源:adding.py


示例10: setCacheId

 def setCacheId(self, id):
     # Remove object from old cache
     old_cache_id = self.getCacheId()
     if old_cache_id and old_cache_id != id:
         cache = zapi.getUtility(ICache, old_cache_id)
         cache.invalidate(self._context)
     annotations = IAnnotations(removeAllProxies(self._context))
     annotations[annotation_key] = id
开发者ID:wpjunior,项目名称:proled,代码行数:8,代码来源:annotationcacheable.py


示例11: get_thesaurus

 def get_thesaurus(self):
     """ return the content for a particular thesurus """
     from zopyx.txng3.core.interfaces import IThesaurus
     try:
         from zope.app import zapi
         return zapi.getUtility(IThesaurus, self.request['id'])
     except ImportError:
         from zope.component import getUtility
         return getUtility(IThesaurus, self.request['id'])
开发者ID:tomcom-de,项目名称:Products.TextIndexNG3,代码行数:9,代码来源:browser.py


示例12: getCacheForObject

def getCacheForObject(obj):
    """Returns the cache associated with `obj` or ``None``."""
    adapter = ICacheable(obj, None)
    if adapter is None:
        return None
    cache_id = adapter.getCacheId()
    if not cache_id:
        return None
    return zapi.getUtility(ICache, cache_id)
开发者ID:wpjunior,项目名称:proled,代码行数:9,代码来源:caching.py


示例13: test_registerUtilityOnUtilityRegistry

    def test_registerUtilityOnUtilityRegistry(self):
        utils = zapi.getSiteManager().utilities
        dummy = DummyUtility()
        utils.registerUtility(IDummyUtility, dummy, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)), 
                          [('dummy', dummy)])
        self.assertEquals(list(zapi.getAllUtilitiesRegisteredFor(
            IDummyUtility)), [dummy])
开发者ID:goschtl,项目名称:zope,代码行数:10,代码来源:test_utility.py


示例14: __call__

    def __call__(self, *args):
        site  = getObject(self.context)
        #sm = site.getSiteManager()
        setSite(site)

        # blogger product
        blogger = getUtility(IBloggerProduct)
        if not blogger.__installed__:
            blogger.install()

        # set wysiwyg editor
        configlet = getUtility(IContentEditorConfiglet)
        configlet.default_editor = 'tinymce'
        notify(ObjectModifiedEvent(configlet))

        # set skin
        skintool = getUtility(ISkinTool)
        skintool.skin = 'quick.theme.sample'
        notify(ObjectModifiedEvent(skintool))
开发者ID:Zojax,项目名称:QZ3,代码行数:19,代码来源:siteconfig.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python zapi.queryMultiAdapter函数代码示例发布时间:2022-05-26
下一篇:
Python zapi.getUtilitiesFor函数代码示例发布时间: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