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
def main(global_config, **settings): """ This function returns a WSGI application. """ for key in configuration: if key in settings: configuration[key] = settings.pop(key) secret1 = settings.pop("kotti.secret") secret2 = settings.pop("kotti.secret2", secret1) engine = engine_from_config(settings, 'sqlalchemy.') get_root = appmaker(engine) authentication_policy = configuration[ 'kotti.authentication_policy_factory'][0](secret=secret1) authorization_policy = configuration[ 'kotti.authorization_policy_factory'][0]() session_factory = configuration['kotti.session_factory'][0](secret=secret2) config = Configurator( settings=settings, root_factory=get_root, authentication_policy=authentication_policy, authorization_policy=authorization_policy, session_factory=session_factory, ) _configure_base_views(config) # Include modules listed in 'includeme' configuration: for module in configuration['kotti.includes']: config.include(module) return config.make_wsgi_app()
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
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
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()
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) 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
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' 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
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