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