コード例 #1
0
ファイル: __init__.py プロジェクト: HaideiGV/loader
def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    config = Configurator(settings=settings)
    config.include('pyramid_jinja2')
    config.add_renderer('img_json', JSON(indent=4))
    config.add_static_view('static', 'static', cache_max_age=3600)

    db_url = urlparse("mongodb://*****:*****@localhost:27017/loaddb")

    config.registry.db = MongoClient(
        host=db_url.hostname,
        port=db_url.port,
    )

    def add_db(request):
        db = config.registry.db[db_url.path[1:]]
        if db_url.username and db_url.password:
            db.authenticate(db_url.username, db_url.password)
        return db

    config.add_route('index', '/')
    config.add_request_method(add_db, 'db', reify=True)

    user_resource = resource.add_resource(File,
                                          collection_path='/api/v1/files',
                                          path='/api/v1/files/{uuid}')

    config.include("cornice")
    config.add_cornice_resource(user_resource)
    config.scan('loader')
    return config.make_wsgi_app()
コード例 #2
0
ファイル: routes.py プロジェクト: wylee/bycycle.webapi
def includeme(config: Configurator):
    settings = config.get_settings()

    config.add_route('home', '/')
    config.add_view(route_name='home', renderer='home.mako')

    config.add_cornice_resource(
        resource.add_resource(views.InfoResource, name='info', path='/info'))

    config.add_cornice_resource(
        resource.add_resource(views.QueryResource, name='query',
                              path='/query'))

    config.add_cornice_resource(
        resource.add_resource(views.LookupResource,
                              name='lookup',
                              path='/lookup'))

    config.add_cornice_resource(
        resource.add_resource(views.DirectionsResource,
                              name='directions',
                              path='/directions'))

    if settings['mvt.base_layers.enabled']:
        # Mapbox Vector Tile base layer views for use in dev
        add_mvt_view(config,
                     Street,
                     properties=(
                         'id',
                         'start_node_id',
                         'end_node_id',
                         'name',
                         'highway',
                         'bicycle',
                         'oneway_bicycle',
                     ))
        add_mvt_view(config, Intersection, properties=('id', ))

    add_mvt_view(config,
                 Street,
                 layer_name='bike',
                 properties=('id', 'name', 'bicycle'),
                 where_clause=
                 "cycleway IS NOT NULL and cycleway NOT IN ('no', 'proposed')")

    config.add_route('map.street_boundary', '/map/street-boundary')
    config.add_view(route_name='map.street_boundary',
                    view=views.street_bbox_view)