本文整理汇总了Python中zope.component.getSiteManager.sethook函数的典型用法代码示例。如果您正苦于以下问题:Python sethook函数的具体用法?Python sethook怎么用?Python sethook使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sethook函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: load_zcml
def load_zcml(self, zcml_asset_specification):
def _get_site_manager(context=None):
return self
if ':' not in zcml_asset_specification:
import alpaca
config_package = alpaca
config_file = zcml_asset_specification
else:
package_name, config_file = zcml_asset_specification.split(':')
__import__(package_name)
config_package = sys.modules[package_name]
context = ConfigurationMachine()
context.package = config_package
xmlconfig.registerCommonDirectives(context)
xmlconfig.file(
config_file,
package=config_package,
context=context,
execute=False
)
getSiteManager.sethook(_get_site_manager)
try:
context.execute_actions()
finally:
getSiteManager.reset()
示例2: setUp
def setUp(self):
from zope.component import getSiteManager
from zope.component.registry import Components
registry = Components()
def get_registry(context=None):
return registry
getSiteManager.sethook(get_registry)
示例3: uninstall
def uninstall(self):
"""
Remove the sterile registry and replace it with the one that
was in place before this :class:`TestComponents` was
instantiated.
"""
getSiteManager.sethook(self.old)
self.instances.remove(self)
示例4: hook_zca
def hook_zca(self):
""" Call :func:`zope.component.getSiteManager.sethook` with the
argument :data:`pyramid.threadlocal.get_current_registry`, causing
the :term:`Zope Component Architecture` 'global' APIs such as
:func:`zope.component.getSiteManager`,
:func:`zope.component.getAdapter` and others to use the
:app:`Pyramid` :term:`application registry` rather than the Zope
'global' registry."""
getSiteManager.sethook(get_current_registry)
示例5: test_unhook_zc_false
def test_unhook_zc_false(self):
from pyramid.threadlocal import manager
from zope.component import getSiteManager
hook = lambda *arg: None
try:
getSiteManager.sethook(hook)
self._callFUT(unhook_zca=False)
finally:
result = getSiteManager.sethook(None)
self.assertEqual(result, hook)
getSiteManager.reset()
manager.clear()
示例6: test_unhook_zca
def test_unhook_zca(self):
from zope.component import getSiteManager
def foo():
'123'
try:
getSiteManager.sethook(foo)
config = self._makeOne()
config.unhook_zca()
sm = getSiteManager()
self.assertNotEqual(sm, '123')
finally:
getSiteManager.reset()
示例7: make_pycms_app
def make_pycms_app(app, *includes, **settings):
""" Create a w20e.pycms application and return it. The app is a
router instance as created by Configurator.make_wsgi_app."""
config = Configurator(package=app,
root_factory=root_factory,
session_factory=SessionFactory('w20e_pycms_secret'),
settings=settings)
# enable Chameleon rendering
#
config.include('pyramid_chameleon')
register_json_adapters(config)
def get_registry(*args):
return config.registry
# hook up registry
#
getSiteManager.sethook(get_registry)
config.include(pyramid_zcml)
config.include('pyramid_mailer')
config.load_zcml('w20e.pycms:bootstrap.zcml')
config.scan('w20e.pycms')
config.commit()
config.load_zcml("configure.zcml")
config.commit()
# Other includes
#
for include in includes:
config.include(include)
# load plugin entry points of the pycms_plugin persuasion
#
for ep in pkg_resources.iter_entry_points(group='pycms_plugin'):
fun = ep.load()
config.include(fun)
config.commit()
config.commit()
appmaker(config)
return config.make_wsgi_app()
示例8: test_uses_configured_site_manager
def test_uses_configured_site_manager(self):
from zope.interface.registry import Components
from zope.component import getSiteManager
from zope.component.testfiles.components import comp, IApp
registry = Components()
def dummy(context=None):
return registry
getSiteManager.sethook(dummy)
try:
self._callFUT('registerUtility', comp, IApp, u'')
self.assertTrue(registry.getUtility(IApp) is comp)
finally:
getSiteManager.reset()
示例9: __init__
def __init__(self):
self.registry = Components('Testing')
self.old = getSiteManager.sethook(lambda: self.registry)
self.instances.add(self)
if not self.__class__.atexit_setup:
atexit.register(self.atexit)
self.__class__.atexit_setup = True
示例10: test_defaults
def test_defaults(self):
from pyramid.threadlocal import manager
from zope.component import getSiteManager
registry = DummyRegistry()
old = {'registry':registry}
hook = lambda *arg: None
try:
getSiteManager.sethook(hook)
manager.push(old)
self._callFUT()
current = manager.get()
self.assertNotEqual(current, old)
self.assertEqual(registry.inited, 2)
finally:
result = getSiteManager.sethook(None)
self.assertNotEqual(result, hook)
getSiteManager.reset()
manager.clear()
示例11: test_defaults
def test_defaults(self):
from pyramid.threadlocal import manager
registry = DummyRegistry()
old = {'registry':registry}
hook = lambda *arg: None
try:
self._setSMHook(hook)
manager.push(old)
self._callFUT()
current = manager.get()
self.assertNotEqual(current, old)
self.assertEqual(registry.inited, 2)
finally:
getSiteManager = self._getSM()
if getSiteManager is not None:
result = getSiteManager.sethook(None)
self.assertNotEqual(result, hook)
示例12: test_it_defaults
def test_it_defaults(self):
from pyramid.threadlocal import manager
from pyramid.threadlocal import get_current_registry
from pyramid.registry import Registry
from zope.component import getSiteManager
old = True
manager.push(old)
try:
config = self._callFUT()
current = manager.get()
self.failIf(current is old)
self.assertEqual(config.registry, current['registry'])
self.assertEqual(current['registry'].__class__, Registry)
self.assertEqual(current['request'], None)
finally:
result = getSiteManager.sethook(None)
self.assertEqual(result, get_current_registry)
getSiteManager.reset()
manager.clear()
示例13: _setSMHook
def _setSMHook(self, hook):
getSiteManager = self._getSM()
if getSiteManager is not None:
getSiteManager.sethook(hook)
示例14: _assertSMHook
def _assertSMHook(self, hook):
getSiteManager = self._getSM()
if getSiteManager is not None:
result = getSiteManager.sethook(None)
self.assertEqual(result, hook)
示例15: int
try:
set_version = int(v)
if set_version < 0:
raise Exception
except:
usage('Bad version number %s' % v)
if latest and (set_version is not None):
usage('Cannot use both --latest and --set-version together')
if set_version and not package:
usage('Not setting db version to %s (specify --package to '
'specify which package to set the db version for)' % set_version)
# hook gsm for good measure and max fwd compat
getSiteManager.sethook(get_current_registry)
root, closer = open_root(get_default_config())
managers = list(getUtilitiesFor(IEvolutionManager))
if package and package not in [x[0] for x in managers]:
usage('No such package "%s"' % package)
for pkg_name, factory in managers:
if (package is None) or (pkg_name == package):
__import__(pkg_name)
pkg = sys.modules[pkg_name]
VERSION = pkg.VERSION
print 'Package %s' % pkg_name
manager = factory(root, pkg_name, VERSION, 0)