本文整理汇总了Python中pyramid.config.Configurator._set_root_factory方法的典型用法代码示例。如果您正苦于以下问题:Python Configurator._set_root_factory方法的具体用法?Python Configurator._set_root_factory怎么用?Python Configurator._set_root_factory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyramid.config.Configurator
的用法示例。
在下文中一共展示了Configurator._set_root_factory方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: base_configure
# 需要导入模块: from pyramid.config import Configurator [as 别名]
# 或者: from pyramid.config.Configurator import _set_root_factory [as 别名]
def base_configure(global_config, **settings):
"""Resolve dotted names in settings, include plug-ins and create a
Configurator.
"""
from kotti.resources import appmaker
for key, value in conf_defaults.items():
settings.setdefault(key, value)
for key, value in settings.items():
if isinstance(settings[key], basestring):
settings[key] = unicode(value, "utf8")
# Allow extending packages to change 'settings' w/ Python:
_resolve_dotted(settings, keys=("kotti.configurators",))
for func in settings["kotti.configurators"]:
func(settings)
_resolve_dotted(settings)
secret1 = settings["kotti.secret"]
settings.setdefault("kotti.secret2", secret1)
# BBB: Merge ``kotti.includes`` into pyramid.includes.
if settings["kotti.includes"]:
warnings.warn(
"The 'kotti.includes' setting has been deprecated as of " "Kotti 0.6.1. Use 'pyramid.includes' instead.",
DeprecationWarning,
)
settings.setdefault("pyramid.includes", "")
settings["pyramid.includes"] += " " + settings["kotti.includes"]
# We'll process ``pyramid_includes`` later by hand, to allow
# overrides of configuration from ``kotti.base_includes``:
pyramid_includes = settings.pop("pyramid.includes", "")
config = Configurator(settings=settings)
config.begin()
config.registry.settings["pyramid.includes"] = pyramid_includes
# Include modules listed in 'kotti.base_includes':
for module in settings["kotti.base_includes"]:
config.include(module)
config.commit()
# Modules in 'pyramid.includes' may override 'kotti.base_includes':
if pyramid_includes:
for module in pyramid_includes.split():
config.include(module)
config.commit()
engine = engine_from_config(settings, "sqlalchemy.")
config._set_root_factory(appmaker(engine))
# add the authenticated user to the request object
from kotti.security import get_user
config.set_request_property(get_user, name="user", reify=True)
return config
示例2: base_configure
# 需要导入模块: from pyramid.config import Configurator [as 别名]
# 或者: from pyramid.config.Configurator import _set_root_factory [as 别名]
def base_configure(global_config, **settings):
"""Resolve dotted names in settings, include plug-ins and create a
Configurator.
"""
from kotti.resources import appmaker
for key, value in conf_defaults.items():
settings.setdefault(key, value)
# Allow extending packages to change 'settings' w/ Python:
_resolve_dotted(settings, keys=('kotti.configurators',))
for func in settings['kotti.configurators']:
func(settings)
_resolve_dotted(settings)
secret1 = settings['kotti.secret']
settings.setdefault('kotti.secret2', secret1)
config = Configurator(
settings=settings,
)
config.begin()
# Include modules listed in 'kotti.base_includes' and 'kotti.includes':
for module in settings['kotti.base_includes']:
config.include(module)
config.commit()
for module in settings['kotti.includes']:
config.include(module)
config.commit()
engine = engine_from_config(settings, 'sqlalchemy.')
config._set_root_factory(appmaker(engine))
return config
示例3: base_configure
# 需要导入模块: from pyramid.config import Configurator [as 别名]
# 或者: from pyramid.config.Configurator import _set_root_factory [as 别名]
def base_configure(global_config, **settings):
# Resolve dotted names in settings, include plug-ins and create a
# Configurator.
from kotti.resources import get_root
for key, value in conf_defaults.items():
settings.setdefault(key, value)
for key, value in settings.items():
if key.startswith('kotti') and isinstance(value, basestring):
settings[key] = unicode(value, 'utf8')
# Allow extending packages to change 'settings' w/ Python:
k = 'kotti.configurators'
for func in _resolve_dotted(settings, keys=(k,))[k]:
func(settings)
settings = _resolve_dotted(settings)
secret1 = settings['kotti.secret']
settings.setdefault('kotti.secret2', secret1)
# We'll process ``pyramid_includes`` later by hand, to allow
# overrides of configuration from ``kotti.base_includes``:
pyramid_includes = settings.pop('pyramid.includes', '')
config = Configurator(
request_factory=settings['kotti.request_factory'][0],
settings=settings)
config.begin()
config.hook_zca()
config.include('pyramid_zcml')
# Chameleon bindings were removed from Pyramid core since pyramid>=1.5a2
config.include('pyramid_chameleon')
config.registry.settings['pyramid.includes'] = pyramid_includes
# Include modules listed in 'kotti.base_includes':
for module in settings['kotti.base_includes']:
config.include(module)
config.commit()
# Modules in 'pyramid.includes' and 'kotti.zcml_includes' may
# override 'kotti.base_includes':
if pyramid_includes:
for module in pyramid_includes.split():
config.include(module)
for name in settings['kotti.zcml_includes'].strip().split():
config.load_zcml(name)
config.commit()
config._set_root_factory(get_root)
return config
示例4: base_configure
# 需要导入模块: from pyramid.config import Configurator [as 别名]
# 或者: from pyramid.config.Configurator import _set_root_factory [as 别名]
def base_configure(global_config, **settings):
"""Resolve dotted names in settings, include plug-ins and create a
Configurator.
"""
from kotti.resources import appmaker
for key, value in conf_defaults.items():
settings.setdefault(key, value)
for key, value in settings.items():
if isinstance(settings[key], basestring):
settings[key] = unicode(value, 'utf8')
# Allow extending packages to change 'settings' w/ Python:
_resolve_dotted(settings, keys=('kotti.configurators',))
for func in settings['kotti.configurators']:
func(settings)
_resolve_dotted(settings)
secret1 = settings['kotti.secret']
settings.setdefault('kotti.secret2', secret1)
# BBB: Merge ``kotti.includes`` into pyramid.includes.
if settings['kotti.includes']:
warnings.warn(
"The 'kotti.includes' setting has been deprecated as of "
"Kotti 0.6.1. Use 'pyramid.includes' instead.",
DeprecationWarning)
settings.setdefault('pyramid.includes', '')
settings['pyramid.includes'] += ' ' + settings['kotti.includes']
# We'll process ``pyramid_includes`` later by hand, to allow
# overrides of configuration from ``kotti.base_includes``:
pyramid_includes = settings.pop('pyramid.includes', '')
config = Configurator(settings=settings)
config.begin()
config.registry.settings['pyramid.includes'] = pyramid_includes
# Include modules listed in 'kotti.base_includes':
for module in settings['kotti.base_includes']:
config.include(module)
config.commit()
# Modules in 'pyramid.includes' may override 'kotti.base_includes':
if pyramid_includes:
for module in pyramid_includes.split():
config.include(module)
config.commit()
engine = engine_from_config(settings, 'sqlalchemy.')
config._set_root_factory(appmaker(engine))
return config
示例5: main
# 需要导入模块: from pyramid.config import Configurator [as 别名]
# 或者: from pyramid.config.Configurator import _set_root_factory [as 别名]
def main(global_config, **settings):
""" This function returns a WSGI application.
"""
for key, value in conf_defaults.items():
settings.setdefault(key, value)
_resolve_dotted(settings, keys=('kotti.configurators',))
# Allow extending packages to change 'settings' w/ Python:
for func in settings['kotti.configurators']:
func(settings)
_resolve_dotted(settings)
secret1 = settings['kotti.secret']
settings.setdefault('kotti.secret2', secret1)
authentication_policy = settings[
'kotti.authn_policy_factory'][0](**settings)
authorization_policy = settings[
'kotti.authz_policy_factory'][0](**settings)
session_factory = settings['kotti.session_factory'][0](**settings)
config = Configurator(
settings=settings,
authentication_policy=authentication_policy,
authorization_policy=authorization_policy,
session_factory=session_factory,
)
config.begin()
config.commit()
# Include modules listed in 'kotti.base_includes' and 'kotti.includes':
for module in (
settings['kotti.base_includes'] + settings['kotti.includes']):
config.include(module)
from kotti.resources import appmaker
engine = engine_from_config(settings, 'sqlalchemy.')
config._set_root_factory(appmaker(engine))
import kotti.views.util
config.add_subscriber(
kotti.views.util.add_renderer_globals, BeforeRender)
_configure_base_views(config)
return config.make_wsgi_app()
示例6: main
# 需要导入模块: from pyramid.config import Configurator [as 别名]
# 或者: from pyramid.config.Configurator import _set_root_factory [as 别名]
def main(global_config, **settings):
"""
Main function : returns a Pyramid WSGI application.
"""
engine = engine_from_config(settings, 'sqlalchemy.')
session_factory = get_session_factory(settings)
set_cache_regions_from_settings(settings)
auth_policy = SessionAuthenticationPolicy(callback=get_groups)
acl_policy = ACLAuthorizationPolicy()
config = Configurator(settings=settings,
authentication_policy=auth_policy,
authorization_policy=acl_policy,
session_factory=session_factory)
config.begin()
config.commit()
dbsession = initialize_sql(engine)
wrap_db_objects()
BaseDBFactory.dbsession = dbsession
# Application main configuration
config._set_root_factory(RootFactory)
config.set_default_permission('view')
# Adding some usefull properties to the request object
config.set_request_property(lambda _: dbsession(), 'dbsession', reify=True)
config.set_request_property(get_avatar, 'user', reify=True)
config.set_request_property(lambda _:get_config(), 'config')
add_static_views(config, settings)
for module in AUTONOMIE_MODULES:
config.include(module)
# Set deform multi renderer handling translation for both chameleon and
# mako templates
set_deform_renderer()
# Set json renderer
set_json_renderer(config)
config.add_translation_dirs("colander:locale/", "deform:locale")
add_resources_to_registry()
return config.make_wsgi_app()
示例7: base_configure
# 需要导入模块: from pyramid.config import Configurator [as 别名]
# 或者: from pyramid.config.Configurator import _set_root_factory [as 别名]
def base_configure(global_config, **settings):
# Resolve dotted names in settings, include plug-ins and create a
# Configurator.
from kotti.resources import get_root
for key, value in conf_defaults.items():
settings.setdefault(key, value)
for key, value in settings.items():
if key.startswith('kotti') and isinstance(value, basestring):
settings[key] = unicode(value, 'utf8')
# Allow extending packages to change 'settings' w/ Python:
_resolve_dotted(settings, keys=('kotti.configurators',))
for func in settings['kotti.configurators']:
func(settings)
# BBB: Merge ``kotti.static.x`` into kotti.fanstatic.x
deprecated_fanstatic_settings = {
'kotti.static.view_needed': 'kotti.fanstatic.view_needed',
'kotti.static.edit_needed': 'kotti.fanstatic.edit_needed',
}
for old, new in deprecated_fanstatic_settings.items():
if old in settings:
if settings[old]:
warnings.warn(
"The '%(old)s' setting has been deprecated as of "
"Kotti 0.8 and will be removed in Kotti 1.0. Use "
"'%(new)s' instead." % {'old': old, 'new': new},
DeprecationWarning)
settings.setdefault(new, '')
settings[new] += ' ' + settings[old]
del settings[old]
_resolve_dotted(settings)
secret1 = settings['kotti.secret']
settings.setdefault('kotti.secret2', secret1)
# BBB: Merge ``kotti.includes`` into pyramid.includes.
if settings['kotti.includes']:
warnings.warn(
"The 'kotti.includes' setting has been deprecated as of "
"Kotti 0.6.1. Use 'pyramid.includes' instead.",
DeprecationWarning)
settings.setdefault('pyramid.includes', '')
settings['pyramid.includes'] += ' ' + settings['kotti.includes']
# We'll process ``pyramid_includes`` later by hand, to allow
# overrides of configuration from ``kotti.base_includes``:
pyramid_includes = settings.pop('pyramid.includes', '')
config = Configurator(settings=settings)
config.begin()
config.hook_zca()
config.include('pyramid_zcml')
# Chameleon bindings were removed from Pyramid core since pyramid>=1.5a2
config.include('pyramid_chameleon')
config.registry.settings['pyramid.includes'] = pyramid_includes
# Include modules listed in 'kotti.base_includes':
for module in settings['kotti.base_includes']:
config.include(module)
config.commit()
# Modules in 'pyramid.includes' and 'kotti.zcml_includes' may
# override 'kotti.base_includes':
if pyramid_includes:
for module in pyramid_includes.split():
config.include(module)
for name in settings['kotti.zcml_includes'].strip().split():
config.load_zcml(name)
config.commit()
config._set_root_factory(get_root)
# add the authenticated user to the request object
from kotti.security import get_user
config.set_request_property(get_user, name="user", reify=True)
return config
示例8: base_configure
# 需要导入模块: from pyramid.config import Configurator [as 别名]
# 或者: from pyramid.config.Configurator import _set_root_factory [as 别名]
def base_configure(global_config, **settings):
# Resolve dotted names in settings, include plug-ins and create a
# Configurator.
from kotti.resources import appmaker
for key, value in conf_defaults.items():
settings.setdefault(key, value)
for key, value in settings.items():
if key.startswith('kotti') and isinstance(value, basestring):
settings[key] = unicode(value, 'utf8')
# Allow extending packages to change 'settings' w/ Python:
_resolve_dotted(settings, keys=('kotti.configurators',))
for func in settings['kotti.configurators']:
func(settings)
_resolve_dotted(settings)
secret1 = settings['kotti.secret']
settings.setdefault('kotti.secret2', secret1)
# BBB: Merge ``kotti.includes`` into pyramid.includes.
if settings['kotti.includes']:
warnings.warn(
"The 'kotti.includes' setting has been deprecated as of "
"Kotti 0.6.1. Use 'pyramid.includes' instead.",
DeprecationWarning)
settings.setdefault('pyramid.includes', '')
settings['pyramid.includes'] += ' ' + settings['kotti.includes']
# We'll process ``pyramid_includes`` later by hand, to allow
# overrides of configuration from ``kotti.base_includes``:
pyramid_includes = settings.pop('pyramid.includes', '')
config = Configurator(settings=settings)
config.begin()
config.hook_zca()
config.include('pyramid_zcml')
config.registry.settings['pyramid.includes'] = pyramid_includes
# Include modules listed in 'kotti.base_includes':
for module in settings['kotti.base_includes']:
config.include(module)
config.commit()
# Modules in 'pyramid.includes' and 'kotti.zcml_includes' may
# override 'kotti.base_includes':
if pyramid_includes:
for module in pyramid_includes.split():
config.include(module)
for name in settings['kotti.zcml_includes'].strip().split():
config.load_zcml(name)
config.commit()
engine = engine_from_config(settings, 'sqlalchemy.')
config._set_root_factory(appmaker(engine))
# add the authenticated user to the request object
from kotti.security import get_user
config.set_request_property(get_user, name="user", reify=True)
return config