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


Python zapi.getUtility函数代码示例

本文整理汇总了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;未经允许,请勿转载。