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 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 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
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, bytes): settings[key] = value.decode("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
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 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()
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 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') 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
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
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
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, binary_type): settings[key] = unicode(value, 'utf8') # will be removed in 2.0 import kotti_image kotti_image.kotti_configure(settings) # 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