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
Example #2
0
 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()