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()
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)