Example #1
0
def get_map(project_id):
    project = get_project(project_id)

    # Parse parameters.
    json_params = ""
    # If params key was provided, load params string.
    if request.args.get('PARAMS_KEY'):
        json_params = ks_util.getString(request.args.get('PARAMS_KEY'))

    # Parse custom parameters (overrides params key for testing purposes).
    if request.args.get('PARAMS'):
        json_params = request.args.get('PARAMS')

    params = json.loads(json_params)

    # Fix for unicode keys (py2.5 doesn't like them).
    str_params = {}
    for k,v in params.items():
        str_params[str(k).lower()] = v
    params = str_params

    wms_parameters = get_wms_parameters(request.args)

    fn = projects_services.get_data_map
    fn_args = [project]
    fn_kwargs = dict([('wms_parameters', wms_parameters)] + params.items())
    if app.config.get('GR_PROJECTS_CACHE'):
        map_image = _get_cached(
            project,
            fn,
            fn_args=fn_args,
            fn_kwargs=fn_kwargs,
            key_args=['get_data_map'],
            key_kwargs=fn_kwargs,
        )
    else:
        map_image = fn(*fn_args, **fn_kwargs)
    return Response(map_image, mimetype=wms_parameters['FORMAT'])
Example #2
0
def getString(key):
    s = ks_util.getString(key)
    return jsonify(s=s)