from pyramid.authentication import AuthTktAuthenticationPolicy from pyramid.authorization import ACLAuthorizationPolicy from pyramid.config import Configurator from sqlalchemy import engine_from_config from .models import DBSession def main(global_config, **settings): """ This function returns a Pyramid WSGI application.""" engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) authn_policy = AuthTktAuthenticationPolicy('aaaaAAAA1111') authz_policy = ACLAuthorizationPolicy() config = Configurator(settings=settings) # Authentication and Authorization config.set_authentication_policy(authn_policy) config.set_authorization_policy(authz_policy) # Static config.add_static_view('static', 'static', cache_max_age=3600) # Routes config.add_route('index', '/') config.add_route('login', '/login') config.add_route('logout', '/logout') config.add_route('account', '/account') config.add_route('change_password', '/change_password') config.add_route('reports', '/reports') config.add_route('report', '/reports/{id}') config.add_route('evaluate_report', '/reports/{id}/evaluate') config.add_route('bugs', '/bugs') config.add_route('bug', '/bugs/{id}') config.add_route('change_bugstate', '/bugs/{id}/change_state') config.add_route('send_report', '/send_report') # Scan config.scan() return config.make_wsgi_app()