Exemple #1
0
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()
Exemple #2
0
 def _callFUT(self, engine):
     from mymain.models import initialize_sql
     return initialize_sql(engine)