Exemplo n.º 1
0
def add_data_point():
    # this takes a dictionary with the following keys:
    # users string
    # activity int
    # keys (as a string)
    # values (as a string)
    # keys and values must have same length or we return 400
    args = request.args.to_dict()
    if 'activity' in args:
        activity_id = int(float(args['activity']))
        if Activity.exists(activity_id):
            jargs = combine_nl_keys_and_data(args['keys'], args['values'])
            if jargs[0]:
                data = jargs[1]
                data.update({'users': args['users']})
                dp = DataPoint(data=data, activity_id=activity_id)
                db.session.add(dp)
                db.session.commit()
                return (app.response_class(response=json.dumps("OK"),
                                           status=200,
                                           mimetype='application/json'))
            else:
                return (app.response_class(response=json.dumps(
                    "Length of keys and values did not match"),
                                           status=400,
                                           mimetype='application/json'))
        else:
            return (app.response_class(
                response=json.dumps("Activity doesnt exist"),
                status=400,
                mimetype='application/json'))