def add_q_stats(uid, qid): answered = (session.query(AnswerModel).filter_by(userID=uid, questionID=qid)).one() recorded = (session.query(UserHistoryModel).filter_by(userid=uid, source_id=qid)).first() if (recorded != None): boole = recorded.qanswered thing = UserHistoryModel.get_user_latest_data(uid) # in case the question was immediately answered if (answered != None) and (recorded == None): thing = UserHistoryModel.get_user_latest_data(uid) thing.asked = thing.asked + 1 thing.answered = thing.answered + 1 thing.qanswered = True session.add(UserHistoryModel(thing.userid, thing.trust, thing.answered, thing.asked)) session.commit # in case the question was not answered at all elif (answered == None) and (recorded == None): thing = UserHistoryModel.get_user_latest_data(uid) thing.asked = thing.asked + 1 #thing.answered = thing.answered + 0 thing.qanswered = False session.add(UserHistoryModel(thing.userid, thing.trust, thing.answered, thing.asked)) session.commit # in case the question was previously asked, but only answered after unlocking it elif (answered != None) and (recorded != None) and not (boole): thing = UserHistoryModel.get_user_latest_data(uid) #thing.asked = thing.asked + 0 thing.answered = thing.answered + 1 thing.qanswered = True session.add(UserHistoryModel(thing.userid, thing.trust, thing.answered, thing.asked)) session.commit
def setTrust(uID, trust): # set current trust (in usermodel) user = session.query(UserModel).filter_by(userid=uID).one() user.trust = trust # fetch last known history record old = UserHistoryModel.get_user_latest_data(uID) # create a new trust entry in userhistory history = UserHistoryModel(uID, trust, old.answered, old.asked) session.add(history) session.commit()