Michael Merickel
2017-06-11 06c28384c1217e054f530df511b434ff543e3132
commit | author | age
2a5ae0 1 from pyramid.config import Configurator
b25335 2 from pyramid_zodbconn import get_connection
CM 3
19b820 4 from pyramid.authentication import AuthTktAuthenticationPolicy
2a5ae0 5 from pyramid.authorization import ACLAuthorizationPolicy
CM 6
4466bb 7 from .models import appmaker
K 8 from .security import groupfinder
b25335 9
CM 10 def root_factory(request):
11     conn = get_connection(request)
12     return appmaker(conn.root())
b3b713 13
6d1eee 14
c44c40 15 def main(global_config, **settings):
6d1eee 16     """ This function returns a Pyramid WSGI application.
b3b713 17     """
19b820 18     authn_policy = AuthTktAuthenticationPolicy(
MM 19         'sosecret', callback=groupfinder, hashalg='sha512')
2a5ae0 20     authz_policy = ACLAuthorizationPolicy()
9619d0 21     config = Configurator(root_factory=root_factory, settings=settings)
85623b 22     settings = config.get_settings()
SP 23     settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
9619d0 24     config.set_authentication_policy(authn_policy)
CM 25     config.set_authorization_policy(authz_policy)
404b28 26     config.include('pyramid_chameleon')
0a2628 27     config.include('pyramid_tm')
85623b 28     config.include('pyramid_retry')
0a2628 29     config.include('pyramid_zodbconn')
4466bb 30     config.add_static_view('static', 'static', cache_max_age=3600)
19d1eb 31     config.scan()
b3b713 32     return config.make_wsgi_app()