def main(global_config, **settings): """ Main function : returns a Pyramid WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) auth_policy = SessionAuthenticationPolicy(callback=build_avatar) acl_policy = ACLAuthorizationPolicy() session_factory = session_factory_from_settings(settings) config = Configurator(settings=settings, session_factory=session_factory, authentication_policy=auth_policy, authorization_policy=acl_policy, root_factory=RootFactory ) config.add_static_view('static', 'crmbase:static', cache_max_age=3600) config.add_route('index', '/') # REST API ## using the four HTTP methods (POST, GET, PUT, DELETE), ## translating them in (add, get, update, delete) ## and the two following routes, ## we can get a very clean REST API config.add_route("users", "/users") config.add_route("user", "/users/{uid}") config.add_route("contacts", "/contacts") config.add_route("login", "/login") config.add_route("logout", "/logout") return config.make_wsgi_app()
def pytest_sessionstart(): """ Py.test setup """ from py.test import config # Only run database setup on master (in case of xdist/multiproc mode) if not hasattr(config, 'slaveinput'): from crmbase.models import initialize_sql from crmbase.models.model import * from pyramid.config import Configurator from paste.deploy.loadwsgi import appconfig from sqlalchemy import engine_from_config import os root_path = os.path.dirname(__file__) settings = appconfig('config:' + os.path.join(root_path, "../../", 'test.ini'), "crmbase") engine = engine_from_config(settings, prefix='sqlalchemy.') print 'Creating the tables on the test database %s' % engine config = Configurator(settings=settings) initialize_sql(engine, create=True)
def main(argv=sys.argv): if len(argv) != 2: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri, crmbase) engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine)