Example #1
0
def answerQuestions():
    factory = connection_manager.connection_manager()
    connection = factory.connection
    cursor = connection.cursor()
    data = request.get_json()
    logging.info("data sent for evaluation {}".format(data))
    inputValue = data.get("data")
    query = "INSERT into userresponse (responseanswer, starttime, endtime, questionid, userid) VALUES ({}, \"{}\", \"{}\", {}, {});"
    output = {}
    output['status'] = ""
    for qs in inputValue:
        # print(qs)
        try:
            cursor.execute(
                str.format(query, qs['choice'], datetime.datetime.now(),
                           datetime.datetime.now(), qs['questionid'],
                           qs['userid']))
            output['status'] = 'OK'
        except:
            output['status'] = 'ERROR'
        finally:
            # factory.close_all(cursor=cursor, connection=connection)
            pass
    logging.info("My result :{}".format(output))
    return jsonify(output)
Example #2
0
def updateQuestions():
    factory = connection_manager.connection_manager()
    connection = factory.connection
    cursor = connection.cursor()
    data = request.get_json()
    logging.info("data sent for evaluation {}".format(data))
    inputValue = data.get("data")
    query = "UPDATE question SET `category`=\"{}\", `reversed`={}, `questiontext`=\"{}\", `scale`={}, `isscale`={}, `options`=\"{}\" WHERE `idquestion`={};"
    output = {}
    output['status'] = ""
    for qs in inputValue:
        print(qs)
        try:
            print(
                str.format(query, qs['category'], qs['reversed'],
                           qs['questiontext'], qs['scale'], qs['isscale'],
                           qs['options'], qs['questionid']))
            cursor.execute(
                str.format(query, qs['category'], qs['reversed'],
                           qs['questiontext'], qs['scale'], qs['isscale'],
                           qs['options'], qs['questionid']))
            output['status'] = 'OK'
        except:
            output['status'] = 'ERROR'
        finally:
            # factory.close_all(cursor=cursor, connection=connection)
            pass
    logging.info("My result :{}".format(output))
    return jsonify(output)
Example #3
0
def evaluate():
    factory = connection_manager.connection_manager()
    data = request.get_json()
    logging.info("data sent for evaluation {}".format(data))
    inputValue = data.get("input")
    result = inputValue * inputValue
    logging.info("My result :{}".format(result))
    return jsonify(result)
Example #4
0
def scoreUser():
    factory = connection_manager.connection_manager()
    connection = factory.connection
    # cursor = connection.cursor()
    data = request.get_json()
    logging.info("data sent for evaluation {}".format(data))
    inputValue = data.get("data");
    query = "select * from userresponse JOIN question on question.idquestion=userresponse.questionid where userresponse.userid={}"
    output = {}
    output['status'] = ""
    output['catscores'] = {}
    try:
        df = pd.read_sql_query(query.format(inputValue), connection)
        # print(df.info())

        categories = df['category'].unique()
        for c in categories:
            if c != "Team Player":
                curr_df = df.loc[df['category'] == c]
                # print(curr_df)
                curr_df['score'] = curr_df.apply(lambda row: getScore(row['responseanswer'], row['reversed'], row['scale']), axis=1)
                output['catscores'][c] = curr_df['score'].mean()
        # try:
        #     print(inputValue)
        #     cursor.execute(query, int(inputValue))
        #     results = cursor.fetchall()
        #     print(results)
        #     output['status'] = 'OK'
        # except:
        #     raise
        #     output['status'] = 'ERROR'
        # finally:
            # factory.close_all(cursor=cursor, connection=connection)
            # pass
        output['status'] = 'OK'
    except:
        output['status'] = 'ERROR'
        
    logging.info("My result :{}".format(output))
    return jsonify(output);
Example #5
0
def getQuestions(surveyId):
    print("surveyId:", surveyId)
    # data = request.get_json();
    # result = [
    #     {
    #         "id": 1,
    #         "text": "string",
    #         "category": 1,
    #         "isScale": False,
    #         # scale: int,
    #         # reversed: boolean,
    #         "options": ["string1", "string2", "string3", "string4"]
    #     }
    #     # {
    #     #     id: int,
    #     #     text: string,
    #     #     category: int,
    #     #     isScale: boolean,
    #     #     scale: int,
    #     #     reversed: boolean,
    #     #     options: [string, string, string, string],
    #     # }
    # ]
    query = "select * from halogen.question"
    factory = connection_manager.connection_manager()
    connection = factory.connection
    cursor = connection.cursor()
    print("test")
    try:
        cursor.execute(query)
        results = cursor.fetchall()
        print(results)
    except:
        raise
    finally:
        factory.close_all(cursor=cursor, connection=connection)
#     result = {
# 	"data": [
# 	{
# 		"surveyid": 2,
# 		"questionid": 1,
# 		"questiontext": "string",
# 		"category": 1,
# 		"isScale": 1,
# 		"scale": 7,
# 		"reversed": 0,
# 		"options": ["string", "string", "string", "string"]
# 	},
# 	{
# 		"surveyid": 2,
# 		"questionid": 1,
# 		"questiontext": "string",
# 		"category": 1,
# 		"isScale": 1,
# 		"scale": 7,
# 		"reversed": 0,
# 		"options": ["string", "string", "string", "string"]
# 	}
# ]
# }
    return jsonify(results)