示例#1
0
def main(global_config, **settings):
    """ This function returns a WSGI application.
    """
    
    # all your authz and authn belong to us
    authn_policy = AuthTktAuthenticationPolicy('riotous4321',
                                                callback=groupfinder)
    authz_policy = ACLAuthorizationPolicy()
    
    # gimmie that Beaker session and region caching YO!
    session_factory = session_factory_from_settings(settings)
    set_cache_regions_from_settings(settings)
    
    # now make my app respect all of the stuff I just did
    config = Configurator(settings=settings,
                          root_factory=root_factory_maker(),
                          authentication_policy=authn_policy,
                          authorization_policy=authz_policy,
                          request_factory=RequestWithUserAttribute,
                          session_factory=session_factory)
    
    # setup the databasage
    engine = engine_from_config(settings, 'sqlalchemy.')
    config.scan('riotoustools.models')
    initialize_sql(engine)
                          
    # view_config + scan = win!
    config.add_static_view('static', 'riotoustools:static')
    config.scan('riotoustools.views')
    
    return config.make_wsgi_app()
示例#2
0
 def setUp(self):
     self.engine = engine_from_config(settings, 'sqlalchemy.')
     self.config = testing.setUp(request=testing.DummyRequest())
     self.config.scan('riotoustools.models')
     initialize_sql(self.engine)