def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) authn_policy = AuthTktAuthenticationPolicy('sosecret', callback=groupfinder) authz_policy = ACLAuthorizationPolicy() config = Configurator(settings=settings, root_factory='mymain.models.RootFactory', authentication_policy=authn_policy, authorization_policy=authz_policy) config.add_static_view('static', 'mymain:static', cache_max_age=3600) config.add_route('login', '/login') config.add_route('logout', '/logout') config.add_route('view_wiki', '/') config.add_route('view_page', '/{pagename}') config.add_route('add_page', '/add_page/{pagename}') config.add_route('edit_page', '/{pagename}/edit_page') config.add_view('mymain.login.login', context='pyramid.httpexceptions.HTTPForbidden', renderer='mymain:templates/login.pt') config.add_view('mymain.login.login', route_name='login', renderer='mymain:templates/login.pt') config.add_view('mymain.login.logout', route_name='logout') config.add_view('mymain.views.view_wiki', route_name='view_wiki') config.add_view('mymain.views.view_page', route_name='view_page', renderer='mymain:templates/view.pt') config.add_view('mymain.views.add_page', route_name='add_page', renderer='mymain:templates/edit.pt', permission='edit') config.add_view('mymain.views.edit_page', route_name='edit_page', renderer='mymain:templates/edit.pt', permission='edit') # config.add_view('mymain.views.my_view', # route_name='home', # renderer='templates/mytemplate.pt') return config.make_wsgi_app()
def _callFUT(self, engine): from mymain.models import initialize_sql return initialize_sql(engine)