Example #1
0
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()
Example #2
0
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()
Example #3
0
 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()))
Example #4
0
 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()))