def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine
    Base.metadata.create_all()
    config = Configurator(settings=settings, root_factory='projetoredesmultimidia.auth.resource.Root')

    #criando uma estrutura de objetos para poder testar a aplicação.
    init = Initialize()
    init.create_users_and_principals()
    init.createObjects()
    #Politica de segurança
    print("Configurando a Autenicação e configuração ")
    autenticacao_po = AuthTktAuthenticationPolicy(settings['app.secret'], callback=groupfinder, hashalg='sha512')
    autorizacao_po = ACLAuthorizationPolicy()
    config.set_authentication_policy(autenticacao_po)
    config.set_authorization_policy(autorizacao_po)

    config.include('pyramid_jinja2')
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.add_route('home', '/')
    config.add_route('cursos', '/cursos')
    config.add_route('curso', '/cursos/curso')
    config.add_route('video_aula', '/cursos/curso/video_aula')
    config.add_route('live', '/live')
    config.add_route('liveroom', '/live/{room}')
    #config.add_route('signaling', '/ws/{room}')
    config.add_route('login', '/login')
    config.add_route('logout', '/logout')
    config.add_route('iptest', '/iptest')

    config.scan()
    return config.make_wsgi_app()
def main(argv=sys.argv):
    if len(argv) < 2:
        usage(argv)
    config_uri = argv[1]
    options = parse_vars(argv[2:])
    setup_logging(config_uri)
    settings = get_appsettings(config_uri, options=options)
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
 def setUp(self):
     self.config = testing.setUp()
     from sqlalchemy import create_engine
     engine = create_engine('sqlite://')
     from projetoredesmultimidia.domain.models import (
         Base,
         MyModel,
         )
     DBSession.configure(bind=engine)
     Base.metadata.create_all(engine)
     with transaction.manager:
         model = MyModel(name='one', value=55)
         DBSession.add(model)
 def setUp(self):
     self.config = testing.setUp()
     from sqlalchemy import create_engine
     engine = create_engine('sqlite://')
     DBSession.configure(bind=engine)