def setUp(self): self.settings = settings self.config_uri = config_uri self.engine = engine_from_config(self.settings, prefix='sqlalchemy.') DBSession.configure(bind=self.engine) Base.metadata.bind = self.engine Base.metadata.create_all(self.engine) self.DBSession = DBSession
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ # configure SQLAlchemy engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) config = Configurator(settings=settings) # configure the root factory (used for Auth & Auth) root_factory = RootFactory config.set_root_factory(root_factory) # configure session session_factory = session_factory_from_settings(settings) config.set_session_factory(session_factory) # configure auth & auth config.include(anuket.add_authorization) # set an auth_user object config.set_request_property(get_auth_user, 'auth_user', reify=True) # configure subscribers ## config.include(anuket.subscribers) ##Comented to avoid crsf check ##TODO bring back CSRF from pyramid.events import BeforeRender, NewRequest config.add_subscriber(anuket.subscribers.add_renderer_globals, BeforeRender) config.add_subscriber(anuket.subscribers.add_localizer, NewRequest) # configure static views config.include(anuket.add_static_views) # configure routes config.include(anuket.views.root) config.include(anuket.views.tools) config.include(anuket.views.user) #TODO improve this from begotemp.views import geo_zone, geo_group, geo_rock config.include(geo_zone) config.include(geo_group) config.include(geo_rock) ## configure views config.scan('anuket') config.scan() config.add_translation_dirs('anuket:locale') config.set_locale_negotiator('anuket.lib.i18n.locale_negotiator') return config.make_wsgi_app()
def initialize_db(self): """ Initialize the database schema and insert default values. :return: 0 (OK) or 1 (abnormal termination error) """ config_uri = self.args.config_uri settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) # check if there is already a versioned database revision = get_alembic_revision(config_uri) if revision: print("This database is versioned. " "Use the upgrade script instead!") return 1 # create the tables (except alembic_version) Base.metadata.create_all(engine) # add default user & group values with transaction.manager: admins_group = AuthGroup() admins_group.groupname = u'admins' admin_user = AuthUser() admin_user.username = u'admin' admin_user.password = u'admin' admin_user.group = admins_group try: DBSession.add(admins_group) DBSession.add(admin_user) DBSession.flush() except IntegrityError: DBSession.rollback() print("There is already a database. " "Use the upgrade script instead!") return 1 # stamp the database with the most recent revision # (and create alembic_version table) try: alembic_cfg = get_alembic_settings(config_uri) stamp(alembic_cfg, 'head') except (AttributeError, ImportError): # pragma: no cover # alembic is missing or not configured pass print("Database initialization done.") return 0
def main(global_config, **settings): """ Configure and returns a Pyramid WSGI application. :param global_config: key/values from the [DEFAULT] section of an .ini fine :type global_config: dictionary :param **settings: key/values from the [app:main] section of an .ini fine :return: a ``pyramid.router.Router`` object """ # configure SQLAlchemy engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) config = Configurator(settings=settings) # configure the root factory (used for Auth & Auth) root_factory = RootFactory config.set_root_factory(root_factory) # configure session session_factory = session_factory_from_settings(settings) config.set_session_factory(session_factory) # configure auth & auth config.include(add_authorization) # set an auth_user object config.set_request_property(get_auth_user, 'auth_user', reify=True) # configure subscribers config.include(subscribers) # configure static views config.include(add_static_views) # configure routes config.include(root) config.include(tools) config.include(user) # configure views config.scan() # configure i18n config.add_translation_dirs('anuket:locale') config.set_locale_negotiator('anuket.lib.i18n.locale_negotiator') return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ # configure SQLAlchemy engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) config = Configurator(settings=settings) # configure the root factory (used for Auth & Auth) root_factory = RootFactory config.set_root_factory(root_factory) # configure session session_factory = session_factory_from_settings(settings) config.set_session_factory(session_factory) # configure auth & auth config.include(anuket.add_authorization) # set an auth_user object config.set_request_property(get_auth_user, 'auth_user', reify=True) # configure subscribers config.include(anuket.subscribers) # configure static views config.include(anuket.add_static_views) # configure routes config.include(anuket.views.root) config.include(anuket.views.tools) config.include(anuket.views.user) from anuketexample import views config.include(views) # configure views config.scan('anuket') config.scan() config.add_translation_dirs('anuket:locale') config.set_locale_negotiator('anuket.lib.i18n.locale_negotiator') return config.make_wsgi_app()