def main(global_config, **settings): # settings may be defined in the global configuration settings = dict([(key, value) for key, value in global_config.items() if key not in ('__file__', 'here')], **settings) engine = sqlalchemy_engine_from_config(settings) Session.configure(bind=engine) Base.metadata.bind = engine # XXX: Basic authentication and authorization omitted purposefully, # unneeded config = Configurator(settings=settings, authentication_policy=None, authorization_policy=None) # Disable Cornice's built-in exception handling config.add_settings(handle_exceptions=False) config.include('cornice') config.include('pyramid_jinja2') config.include('pyramid_tm') config.include('demo.api.common.pyramid.assets') config.include(add_routes) config.include(add_views) config.include(add_request_methods) config.include(add_jinja2) config.include(add_renderers) config.add_assets_mapping( json.load(pkg_resources.resource_stream(__name__, 'static/assets.json'))) config.add_cornice_deserializer('application/json', extract_json_data_factory()) config.add_cornice_deserializer('application/json-patch+json', extract_json_data_factory()) for service in create_cornice_services(path_prefix='/api'): config.add_cornice_service(service) return config.make_wsgi_app()
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 config = Configurator(settings=settings) config.include('cornice') config.add_static_view('static', 'static', cache_max_age=3600) config.add_route('home', '/') config.add_renderer('json', 'ode.renderers.JsonRenderer') config.add_renderer('csv', 'ode.renderers.CsvRenderer') config.add_renderer('ical', 'ode.renderers.IcalRenderer') config.add_renderer('no_content', 'ode.renderers.NoContentRenderer') config.add_cornice_deserializer('text/calendar', icalendar_extractor) config.add_cornice_deserializer(COLLECTION_JSON_MIMETYPE, json_extractor) config.add_cornice_deserializer('text/csv', csv_extractor) config.add_translation_dirs('colander:locale/', 'ode:locale/') config.scan(ignore='ode.tests') return config.make_wsgi_app()
def make_app_with_deserializer(self, deserializer): config = Configurator(settings={}) config.include(includeme) config.add_cornice_deserializer('text/dummy', deserializer) return TestApp(CatchErrors(config.make_wsgi_app()))
def make_app_with_deserializer(self, deserializer): config = Configurator(settings={}) config.include(includeme) config.add_cornice_deserializer('text/dummy', deserializer) return TestApp(CatchErrors(config.make_wsgi_app()))