Example #1
0
def api_sol():
    try:
        print(request.json)
        filename = request.json['visual']['filename']
        hiearchy = request.json['visual']['hiearchy']
        hierchy_values = request.json['visual']['hierchy_values']
        categorical = request.json['visual']['categorical']
        numerical = request.json['visual']['numerical']
        aggragation = request.json['visual']['aggragation']
        if 'category' in request.json['visual']:
            category = request.json['visual']['category']
        else:
            category = None
        if (filename, tuple(hiearchy), category) in data_cache:
            # print("Cached!")
            d = data_cache[(filename, tuple(hiearchy), category)]
        else:
            d = readcsv.HierachyData(filename, hiearchy)
            if not category is None:
                d.categorize_attribute(category)
            data_cache[(filename, tuple(hiearchy), category)] = d
        year = request.json['des']['year']
        de_mean = request.json['des']['mean']

        data = d.complaint(hierchy_values, categorical, numerical, aggragation,
                           year, de_mean)
        # print(data)
        js = json.dumps(data)
        # # print(js)
        resp = Response(js, status=200, mimetype='application/json')
        return resp
    except Exception as e:
        print(e)
        resp = Response(status=400)
        return resp
Example #2
0
def api_data():
    try:
        filename = request.json['filename']
        hiearchy = request.json['hiearchy']
        hierchy_values = request.json['hierchy_values']
        if 'category' in request.json:
            category = request.json['category']
        else:
            category = None
        # print((tuple(filename), tuple(hiearchy)))
        # data_cache[(filename, tuple(hiearchy))] = 'hi'
        if (filename, tuple(hiearchy), category) in data_cache:
            # print("Cached!")
            d = data_cache[(filename, tuple(hiearchy), category)]
        else:
            d = readcsv.HierachyData(filename, hiearchy)
            if not category is None:
                d.categorize_attribute(category)
            data_cache[(filename, tuple(hiearchy), category)] = d
        result = d.get_data(hierchy_values)
        # print(result)
        # print(d.get_heatmap_data(['Tigray','Emba-Alaje'],['Village','year'],['rank'],'mean'))
        js = json.dumps(result)
        # print(js)
        resp = Response(js, status=200, mimetype='application/json')
        return resp
    except Exception as e:
        print(e)
        resp = Response(status=400)
        return resp
Example #3
0
def api_unique():
    try:
        # print(request.json)
        filename = request.json['filename']
        hiearchy = request.json['hiearchy']
        hierchy_values = request.json['hierchy_values']
        if 'category' in request.json:
            category = request.json['category']
        else:
            category = None
        # print((tuple(filename), tuple(hiearchy)))
        # data_cache[(filename, tuple(hiearchy))] = 'hi'
        if (filename, tuple(hiearchy), category) in data_cache:
            # print("Cached!")
            d = data_cache[(filename, tuple(hiearchy), category)]
        else:
            d = readcsv.HierachyData(filename, hiearchy)
            if not category is None:
                d.categorize_attribute(category)
            data_cache[(filename, tuple(hiearchy), category)] = d
        # print(d.get_unique(hierchy_values))
        js = json.dumps(d.get_unique(hierchy_values))
        # print(js)
        resp = Response(js, status=200, mimetype='application/json')
        return resp
    except Exception as e:
        print(e)
        resp = Response(status=400)
        return resp
Example #4
0
def api_heatmapdata():
    try:
        rec = request.json
        rec['type'] = 'drilldown'
        loads.append(rec)
        readcsv.writeLog("drilldown", rec['time'], json.dumps(rec))

        filename = request.json['filename']
        hiearchy = request.json['hiearchy']
        hierchy_values = request.json['hierchy_values']
        categorical = request.json['categorical']
        numerical = request.json['numerical']
        aggragation = request.json['aggragation']
        if 'category' in request.json:
            category = request.json['category']
        else:
            category = None
        if (filename, tuple(hiearchy), category) in data_cache:
            # print("Cached!")
            d = data_cache[(filename, tuple(hiearchy), category)]
        else:
            d = readcsv.HierachyData(filename, hiearchy)
            if not category is None:
                d.categorize_attribute(category)
            data_cache[(filename, tuple(hiearchy), category)] = d
        result = d.get_heatmap_data(hierchy_values,\
            categorical,numerical,aggragation)
        # print(result)
        # print(d.get_heatmap_data(['Tigray','Emba-Alaje'],['Village','year'],['rank'],'mean'))
        js = json.dumps(result)
        # print(js)
        resp = Response(js, status=200, mimetype='application/json')
        return resp
    except Exception as e:
        print(e)
        resp = Response(status=400)
        return resp
Example #5
0
def api_data2():
    try:
        filename = request.json['filename']
        hiearchy = request.json['hiearchy']
        hierchy_values = request.json['hierchy_values']
        if 'category' in request.json:
            category = request.json['category']
        else:
            category = None
        if (filename, tuple(hiearchy), category) in data_cache:
            d = data_cache[(filename, tuple(hiearchy), category)]
        else:
            d = readcsv.HierachyData(filename, hiearchy)
            if not category is None:
                d.categorize_attribute(category)
            data_cache[(filename, tuple(hiearchy), category)] = d
        result = d.get_data2(hierchy_values)
        js = json.dumps(result)
        resp = Response(js, status=200, mimetype='application/json')
        return resp
    except Exception as e:
        print(e)
        resp = Response(status=400)
        return resp