def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ config = Configurator(settings=settings) settings = config.get_settings() # In case certain directories aren't set in the config, we can default to # making one in the same directory as the config file. config.add_settings( {'config_path': os.path.dirname(global_config['__file__'])}) session_factory = UnencryptedCookieSessionFactoryConfig( settings['session.secret']) config.set_session_factory(session_factory) config.include('pyramid_debugtoolbar') config.include('pyramid_mako') config.include('pyramid_dogpile_cache2') config.include('.db') config.include('.routes') # Instantiate Whoosh Search Index config.include('.lib.search') # Setup python-social-auth config.add_request_method('chiplibrary.lib.auth.get_user', 'user', reify=True) config.include('chiplibrary.lib.auth') init_social(config, Base, config.registry['dbsession_factory']) # Add subscribers to instantiate processes or run necessary startup tasks config.add_subscriber(add_renderer_globals, BeforeRender) config.add_subscriber(breadcrumb_subscriber, NewRequest) config.scan() config.scan('social_pyramid') return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ config = Configurator(settings=settings) settings = config.get_settings() # In case certain directories aren't set in the config, we can default to # making one in the same directory as the config file. config.add_settings({ 'config_path': os.path.dirname(global_config['__file__']) }) session_factory = UnencryptedCookieSessionFactoryConfig( settings['session.secret'] ) config.set_session_factory(session_factory) config.include('pyramid_debugtoolbar') config.include('pyramid_mako') config.include('pyramid_dogpile_cache2') config.include('.db') config.include('.routes') # Instantiate Whoosh Search Index config.include('.lib.search') # Setup python-social-auth config.add_request_method( 'chiplibrary.lib.auth.get_user', 'user', reify=True ) config.include('chiplibrary.lib.auth') init_social(config, Base, config.registry['dbsession_factory']) # Add subscribers to instantiate processes or run necessary startup tasks config.add_subscriber(add_renderer_globals, BeforeRender) config.add_subscriber(breadcrumb_subscriber, NewRequest) config.scan() config.scan('social_pyramid') 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) init_social(SOCIAL_AUTH_SETTINGS, Base, DBSession) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.create_all(engine)
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) dbsession = get_session(settings) engine = dbsession.get_bind() init_social(SOCIAL_AUTH_SETTINGS, Base, dbsession) Base.metadata.drop_all(engine) Base.metadata.create_all(engine, checkfirst=True) print('All done!') sys.exit(1)
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 = { 'SOCIAL_AUTH_USER_MODEL': 'pykin.models.User', } settings.update(get_appsettings(config_uri, options=options)) init_social(settings, models.Base, models.DBSession) engine = engine_from_config(settings, 'sqlalchemy.') models.DBSession.configure(bind=engine) models.Base.metadata.create_all(engine) with transaction.manager: pass # put fixture models here
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 session_factory = UnencryptedCookieSessionFactoryConfig('thisisasecret') config = Configurator(settings=settings, session_factory=session_factory, autocommit=True) config.add_static_view('static', 'static', cache_max_age=3600) config.add_request_method('example.auth.get_user', 'user', reify=True) config.add_route('home', '/') config.add_route('done', '/done') config.include('example.settings') config.include('example.local_settings') config.include('social.apps.pyramid_app') init_social(config, Base, DBSession) config.scan() config.scan('social.apps.pyramid_app') return config.make_wsgi_app()
def main(global_config, **env_settings): """Provides a Pyramid WSGI instance and acts as the entry point to the application.""" settings = { 'SOCIAL_AUTH_USER_MODEL': 'pykin.models.User', 'SOCIAL_AUTH_AUTHENTICATION_BACKENDS': ('social.backends.twitter.TwitterOAuth',), 'SOCIAL_AUTH_LOGIN_URL': '/', 'SOCIAL_AUTH_LOGIN_REDIRECT_URL': '/', 'SOCIAL_AUTH_LOGIN_FUNCTION': 'pykin.login_user', 'SOCIAL_AUTH_LOGGEDIN_FUNCTION': 'pykin.login_required', } settings.update(env_settings) engine = engine_from_config(settings, 'sqlalchemy.') models.DBSession.configure(bind=engine) models.Base.metadata.bind = engine session_factory = pyramid_beaker.BeakerSessionFactoryConfig( type='ext:database', url=settings['sqlalchemy.url'], ) app_config = config.Configurator(settings=settings) app_config.set_session_factory(session_factory) app_config.set_authentication_policy(authentication.SessionAuthenticationPolicy()) app_config.set_authorization_policy(authorization.ACLAuthorizationPolicy()) app_config.include('pyramid_jinja2') app_config.include('social.apps.pyramid_app') app_config.include('pyramid_beaker') app_config.add_static_view('static', 'static', cache_max_age=3600) app_config.add_route('home', '/') app_config.add_route('whoami', '/api/user') app_config.add_request_method(auth.get_user, 'user', reify=True) init_social(settings, models.Base, models.DBSession) app_config.scan('social.apps.pyramid_app') app_config.scan() return app_config.make_wsgi_app()
def main(global_config, **settings): """This function returns a Pyramid WSGI application.""" engine = engine_from_config(settings, 'sqlalchemy.') Session.configure(bind=engine) session_factory = UnencryptedCookieSessionFactoryConfig( settings.get('session.secret', 'secret'), ) authentication_policy = AuthTktAuthenticationPolicy( secret=settings.get('authtkt.secret', 'secret'), hashalg='sha512', callback=groupfinder, max_age=86400, ) authorization_policy = ACLAuthorizationPolicy() SOCIAL_AUTH_SETTINGS['SOCIAL_AUTH_FACEBOOK_KEY'] = settings['social.facebook_key'] # noqa SOCIAL_AUTH_SETTINGS['SOCIAL_AUTH_FACEBOOK_SECRET'] = settings['social.facebook_secret'] # noqa SOCIAL_AUTH_SETTINGS['SOCIAL_AUTH_GOOGLE_OAUTH2_KEY'] = settings['social.google_key'] # noqa SOCIAL_AUTH_SETTINGS['SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET'] = settings['social.google_secret'] # noqa settings.update(SOCIAL_AUTH_SETTINGS) config = Configurator( settings=settings, root_factory=RootFactory, authentication_policy=authentication_policy, authorization_policy=authorization_policy, session_factory=session_factory, ) is_sqlite = 'sqlite' in settings['sqlalchemy.url'] configure(config, sqlite=is_sqlite) DEVELOPER_KEY = settings['balistos.youtube_key'] # noqa config.include('pyramid_basemodel') config.include('pyramid_tm') config.include('social.apps.pyramid_app') init_social(config, Base, Session) config.scan('social.apps.pyramid_app') return config.make_wsgi_app()