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

Python zapi.getSiteManager函数代码示例

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

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



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

示例1: 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


示例2: 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


示例3: test_ZopeVersion

    def test_ZopeVersion(self):
        runtime_info = self._Test__new()

        # we expect that there is no utility
        self.assertEqual(runtime_info.getZopeVersion(), u"Unavailable")

        zapi.getSiteManager().provideUtility(IZopeVersion, TestZopeVersion())
        self.assertEqual(runtime_info.getZopeVersion(),
                                         stupid_version_string)
开发者ID:wpjunior,项目名称:proled,代码行数:9,代码来源:test_runtimeinfo.py


示例4: test_getSiteManagerHook

    def test_getSiteManagerHook(self):
        from Products.Five.site.localsite import FiveSiteManager
        from Products.Five.site.utility import SimpleLocalUtilityRegistry

        local_sm = zapi.getSiteManager(None)
        self.failIf(local_sm is zapi.getGlobalSiteManager())
        self.failUnless(isinstance(local_sm, FiveSiteManager))

        local_sm = zapi.getSiteManager(self.folder.site)
        self.failIf(local_sm is zapi.getGlobalSiteManager())
        self.failUnless(isinstance(local_sm, FiveSiteManager))

        sm = zapi.getSiteManager()
        self.failUnless(isinstance(sm.utilities, SimpleLocalUtilityRegistry))
开发者ID:goschtl,项目名称:zope,代码行数:14,代码来源:test_utility.py


示例5: update

    def update(self):
        message = self.applyUpdates()

        self.configBase = zapi.absoluteURL(zapi.getSiteManager(), self.request)

        registrations = self.context.info()

        # This is OK because registrations is just a list of dicts
        registrations = removeSecurityProxy(registrations)

        inactive = 1
        for info in registrations:
            if info['active']:
                inactive = None
            else:
                info['active'] = False

            reg = info['registration']
            info['summary'] = reg.implementationSummary()
            info['id'] = zapi.getPath(reg)

        # Add a dummy registration since the stack removes trailing None.
        registrations.append({"active": False,
                              "id": "disable",
                              "summary": ""})

        self.inactive = inactive
        self.registrations = registrations

        self.message = message
开发者ID:BackupTheBerlios,项目名称:cctools-svn,代码行数:30,代码来源:registration.py


示例6: toolExists

 def toolExists(self, interface, name=''):
     """Check whether a tool already exists in this site"""
     sm = zapi.getSiteManager()
     for reg in sm.registrations():
         if isinstance(reg, site.UtilityRegistration):
             if reg.name == name and reg.provided == interface:
                 return True
     return False
开发者ID:BackupTheBerlios,项目名称:cctools-svn,代码行数:8,代码来源:tools.py


示例7: getSiteManagementFolder

 def getSiteManagementFolder(self, tool):
     """Get the site management folder for this tool."""
     sm = zapi.getSiteManager()
     if not tool.folder in sm:
         folder = site.SiteManagementFolder()
         zope.event.notify(objectevent.ObjectCreatedEvent(folder))
         sm[tool.folder] = folder            
     return sm[tool.folder]
开发者ID:BackupTheBerlios,项目名称:cctools-svn,代码行数:8,代码来源:tools.py


示例8: __call__

 def __call__(self):
     sm = zapi.getSiteManager()
     result = ('zapi.getSiteManager() is zapi.getGlobalSiteManager(): %s\n'
               'IFiveUtilityRegistry.providedBy(utility_service): %s\n'
               'isinstance(zapi.getSiteManager(), FiveSiteManager): %s'
               % (sm is zapi.getGlobalSiteManager(),
                  IFiveUtilityRegistry.providedBy(sm.utilities),
                  isinstance(sm, FiveSiteManager)))
     return result
开发者ID:goschtl,项目名称:zope,代码行数:9,代码来源:test_functional.py


示例9: queryLocalService

 def queryLocalService(self, name, default=None):
     if name in _builtinServices:
         return self
     service = zapi.queryUtility(IService, name, self)
     if service is None:
         return default
     if zapi.getSiteManager(service) is not self:
         return default
     return service
开发者ID:wpjunior,项目名称:proled,代码行数:9,代码来源:site.py


示例10: 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


示例11: test_registerUtilityOnSiteManager

    def test_registerUtilityOnSiteManager(self):
        sm = zapi.getSiteManager()
        self.failUnless(IRegisterUtilitySimply.providedBy(sm))
        dummy = DummyUtility()
        sm.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,代码行数:11,代码来源:test_utility.py


示例12: test_registeringTwiceIsConflict

    def test_registeringTwiceIsConflict(self):
        dummy1 = DummyUtility()
        dummy2 = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, dummy1)
        self.assertRaises(ValueError, sm.registerUtility,
                          IDummyUtility, dummy2)

        sm.registerUtility(IDummyUtility, dummy1, 'dummy')
        self.assertRaises(ValueError, sm.registerUtility,
                          IDummyUtility, dummy2, 'dummy')
开发者ID:goschtl,项目名称:zope,代码行数:11,代码来源:test_utility.py


示例13: 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


示例14: items

    def items(self):
        sm = zapi.getSiteManager()
        ifaces = {}
        while sm is not None:
            for reg in sm.registrations():
                if isinstance(reg, UtilityRegistration):
                    path = getPythonPath(reg.provided)
                    ifaces[path] = UtilityInterface(self, path, reg.provided)
            sm = queryNextSiteManager(sm)

        items = ifaces.items()
        items.sort(lambda x, y: cmp(x[0].split('.')[-1], y[0].split('.')[-1]))
        return items
开发者ID:wpjunior,项目名称:proled,代码行数:13,代码来源:utilitymodule.py


示例15: SimpleRegistrationRemoveSubscriber

def SimpleRegistrationRemoveSubscriber(registration, event):
    """Receive notification of remove event."""
    sm = zapi.getSiteManager(registration)
    removed = event.object
    if (sm == removed) or inside(sm, removed):
        # we don't really care if the registration is active, since the site
        # is going away.
        return

    objectstatus = registration.status

    if objectstatus == interfaces.ActiveStatus:
        try:
            objectpath = zapi.getPath(registration)
        except: # XXX
            objectpath = str(registration)
        raise DependencyError("Can't delete active registration (%s)"
                              % objectpath)
开发者ID:BackupTheBerlios,项目名称:cctools-svn,代码行数:18,代码来源:registration.py


示例16: test_utilitiesHaveProperAcquisitionContext

    def test_utilitiesHaveProperAcquisitionContext(self):
        dummy = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, dummy)

        # let's see if we can acquire something all the way from the
        # root (Application) object; we need to be careful to choose
        # something that's only available from the root object
        from Acquisition import aq_acquire
        dummy = zapi.getUtility(IDummyUtility)
        acquired = aq_acquire(dummy, 'ZopeAttributionButton', None)
        self.failUnless(acquired is not None)

        name, dummy = zapi.getUtilitiesFor(IDummyUtility).next()
        acquired = aq_acquire(dummy, 'ZopeAttributionButton', None)
        self.failUnless(acquired is not None)

        dummy = zapi.getAllUtilitiesRegisteredFor(IDummyUtility).next()
        acquired = aq_acquire(dummy, 'ZopeAttributionButton', None)
        self.failUnless(acquired is not None)        
开发者ID:goschtl,项目名称:zope,代码行数:20,代码来源:test_utility.py


示例17: test_derivedInterfaceRegistration

    def test_derivedInterfaceRegistration(self):
        # Utilities providing a derived interface should be listed
        # when you ask for an interface. So ask for IDummmyInterace, and
        # anything registered for IDummyInterface of ISuperDummyInterface
        # should come back.

        sm = zapi.getSiteManager()
        self.failUnless(IRegisterUtilitySimply.providedBy(sm))
        dummy = DummyUtility()
        superdummy = DummyUtility()
        directlyProvides(superdummy, ISuperDummyUtility)
        uts = list(sm.getUtilitiesFor(IDummyUtility))
        self.failUnlessEqual(uts, [])

        sm.registerUtility(ISuperDummyUtility, superdummy)
        
        # We should be able to access this utility both with 
        # IDummyUtility and ISuperDummyUtility interfaces:
        uts = list(sm.getUtilitiesFor(IDummyUtility))
        self.failUnless(uts[0][1].aq_base is superdummy)
        uts = list(sm.getUtilitiesFor(ISuperDummyUtility))
        self.failUnless(uts[0][1].aq_base is superdummy)
        
        # Also try that the standard zapi call works:
        ut = zapi.getUtility(IDummyUtility, context=self.folder.site)
        self.failUnless(ut.aq_base is superdummy)
        ut = zapi.getUtility(ISuperDummyUtility, context=self.folder.site)
        self.failUnless(ut.aq_base is superdummy)
    
        # If we register a second utility we should find both utilities
        # when looking for the base interface
        sm.registerUtility(IDummyUtility, dummy)

        uts = list(sm.getAllUtilitiesRegisteredFor(IDummyUtility))
        self.failUnless(dummy in uts)
        self.failUnless(superdummy in uts)

        # But we should find only one when looking for the derived interface
        uts = list(sm.getAllUtilitiesRegisteredFor(ISuperDummyUtility))
        self.failUnless(dummy not in uts)
        self.failUnless(superdummy in uts)
开发者ID:goschtl,项目名称:zope,代码行数:41,代码来源:test_utility.py


示例18: getRegistry

 def getRegistry(self):
     return zapi.getSiteManager(self)
开发者ID:BackupTheBerlios,项目名称:cctools-svn,代码行数:2,代码来源:site.py


示例19: test_getUtilitiesNoUtilitiesFolder

 def test_getUtilitiesNoUtilitiesFolder(self):
     sm = zapi.getSiteManager()
     
     self.failUnless(sm.queryUtility(IDummyUtility) is None)
     self.assertEquals(list(sm.getUtilitiesFor(IDummyUtility)), [])
     self.assertEquals(list(sm.getAllUtilitiesRegisteredFor(IDummyUtility)), [])
开发者ID:goschtl,项目名称:zope,代码行数:6,代码来源:test_utility.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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