def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ settings['sqlalchemy.url'] = settings['cn.dialect'] + quote_plus(settings['sqlalchemy.url']) engine = engine_from_config(settings, 'sqlalchemy.') dbConfig['data_schema'] = settings['data_schema'] dbConfig['sensor_schema'] = settings['sensor_schema'] dbConfig['url'] = settings['sqlalchemy.url'] DBSession.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) Base.metadata.reflect(views=True, extend_existing=False) authn_policy = AuthTktAuthenticationPolicy( settings['auth.secret'], cookie_name='ecoReleve-Core', callback=role_loader, hashalg='sha512', max_age=86400) authz_policy = ACLAuthorizationPolicy() config = Configurator(settings=settings) # Add renderer for datetime objects json_renderer = JSON() json_renderer.add_adapter(datetime, datetime_adapter) json_renderer.add_adapter(Decimal, decimal_adapter) config.add_renderer('json', json_renderer) # Add renderer for CSV files. config.add_renderer('csv', CSVRenderer) config.add_renderer('pdf', PDFrenderer) config.add_renderer('gpx', GPXRenderer) # Set up authentication and authorization config.set_authentication_policy(authn_policy) config.set_authorization_policy(authz_policy) config.set_root_factory(SecurityRoot) # Set the default permission level to 'read' config.set_default_permission('read') config.include('pyramid_tm') #config.set_request_factory(request_factory) add_routes(config) #add_views(config) config.scan() return config.make_wsgi_app()
""" Created on Mon Aug 18 11:19:51 2014 @author: Natural Solutions (Thomas) """ from sqlalchemy import engine_from_config from pyramid.paster import get_appsettings from ecorelevesensor.models import Base, DBSession, dbConfig import sys if __name__ == '__main__': """Create all tables in the database.""" settings = get_appsettings(sys.argv[1]) dbConfig['data_schema'] = settings['data_schema'] dbConfig['sensor_schema'] = settings['sensor_schema'] dbConfig['url'] = settings['sqlalchemy.url'] engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.bind = engine #from ecorelevesensor.models.data import * #from ecorelevesensor.models.sensor import * from ecorelevesensor.models.security import User Base.metadata.create_all(engine)