示例#1
0
    def create_question(question, instructor, course, time):
        if not isinstance(time, (int, long)):
            time = 0
        session.add(Question(instructor, course, question, False, time))
        session.commit()

        return render_template('handleQuestion.html',question=question)
示例#2
0
 def add_list(list):
     for a_id, u_id in list:
         if session.query(Schedule).filter(Schedule.answer_id == a_id,
                 Schedule.user_id == u_id).first() is None:
             session.add(Schedule(a_id, u_id))
     
     session.commit()
示例#3
0
    def process(self):
        userid = g.lti.get_user_id()

        try:
            answer0 = int(request.values['answerzero'])
            answer1 = int(request.values['answerone'])
            bestanswer = int(request.values['bestanswer'])
        except KeyError:
            return abort(404)
        except ValueError:
            return abort(404)
        
        if answer0 == bestanswer:
            best  = answer0
            other = answer1
        elif answer1 == bestanswer:
            best  = answer1
            other = answer0
        else:
            return abort(404)

        #try:
        session.add(AnswerChoiceModel(userid,best,other))
        session.commit()
        #except:
        #    session.rollback()

        return redirect('/')
示例#4
0
 def save(questionID, userID, answerText):
     try:
         ranking = ((session.query(UserModel).filter_by(userid=userID).one().trust - 1000.0) / 4) + 1000.0
     except exc.InvalidRequestError:
         ranking = 1000.0
     session.add(AnswerModel(questionID=questionID, userID=userID, text=answerText, edit=0, ranking=ranking))
     session.commit()
示例#5
0
    def edit_question(q_id, question, time):
        """Updates a question with given contents and activation status."""
        if g.lti.is_instructor():
            if question is None:
                escaped_question = None
            else:
                escaped_question = escape(question)

            escaped_time = escape(time)
            q = Question.by_id(q_id)
            q.question = escaped_question
            q.time = int(time)
            activate = q.answerable

            session.add(q)
            session.commit()

            return json.dumps({"id": q_id,
                               "text": escaped_question,
                               "answerable": activate,
                               "time":time,
                               "check": g.lti.is_instructor()})
        else:
            return json.dumps({"id": q_id,
                               "text": question,
                               "answerable": activate,
                               "time": time,
                               "check": g.lti.is_instructor()})
示例#6
0
 def add_tag(name):
     if session.query(Tag.name).filter(Tag.name == name).first() is None:
         tag = Tag(name)
         session.add(tag)
         session.commit()
         return tag.id
     else:
         return False
示例#7
0
 def create_question(question, instructor, course, active, time, comment, tags, rating):
     '''formats a question for database insertion and inserts it, calls a result screen afterwards'''
     try:
         time = int(time)
     except ValueError:
         time = 0
     session.add(Question(instructor, course, question, active, time, comment, tags, rating))
     session.commit()
示例#8
0
 def save(uid,uname):
     user = UserModel.by_user_id(uid)
     if user is None:
         session.add(UserModel(userid=uid,username=uname))
         session.commit()
     elif user.username != uname:
         user.username = uname
         session.commit()
示例#9
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()
示例#10
0
 def create_question(question, instructor, course, active, time, comment, tags, rating):
     '''Formats a question for database insertion and inserts it, calls a
     result screen afterwards. Returns the id of the added question.'''
     try:
         time = int(time)
     except ValueError:
         time = 0
     q = Question(instructor, course, question, active, time, comment, tags, rating)
     session.add(q)
     session.commit()
     return q.id
 def calc_new_trust(self):
     print "GET HERE "
     winner    = AnswerModel.get_by_answer_id(self.best_answer_id)
     loser     = AnswerModel.get_by_answer_id(self.other_answer_id)
     winner_h  = UserHistoryModel.get_by_user_id(winner.userID)
     loser_h   = UserHistoryModel.get_by_user_id(loser.userID)
     new_trust = UserModel.newTrust(winner.userID, loser.userID)
     #UserHistoryModel(winner.userID, new_trust[0], winner_h.answered, winner_h.asked)
     #UserHistoryModel(loser.userID, new_trust[1], loser_h.answered, loser_h.asked) 
     session.add(UserHistoryModel(winner.userID, new_trust[0], 17, 22))
     session.commit()
     session.add(UserHistoryModel(loser.userID, new_trust[1], 17, 25))
     session.commit()
     
示例#12
0
 def save(uid,uname):
     user = UserModel.by_user_id(uid)
     if user is None:
         # add user to UserModel
         tmp = UserModel(userid=uid,username=uname)
         tmp.trust = 1000.0
         session.add(tmp)
         session.commit()
         # add user's first entry to UserHistoryModel
         history = UserHistoryModel(uid, 1000.0, 0, 0)
         session.add(history)
         session.commit()
     elif user.username != uname:
         user.username = uname
         session.commit()
示例#13
0
    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
示例#14
0
 def __init__(self):
     # create a few database items
     for model in session.query(Question):
         break
     else:
         session.add(Question("1","What am I?",True))
         session.add(Question("1","Who am I?",True))
         session.add(Question("1","Where am I?",True))
         session.commit()
示例#15
0
	def add_answerrating(aid, rid):
		if session.query(AnswerRating).filter(
					AnswerRating.answer_id==aid,
					AnswerRating.rating_id==rid).first() is None:
				session.add(AnswerRating(aid, rid))	
示例#16
0
 def inactive(self, value):
      self._inactive = value
      session.add(self)
      session.commit()
示例#17
0
 def __init__(self, request):        
     # lele add dummy questions le
     if len(Question.get_all()) == 0:
         print "I MAEK DUMMY SHIZZLE"
         userID = g.lti.get_user_id()
         q1 = Question("1","1","What am I?",True,1000)
         q2 = Question("2","1","Who am I?",True,1000)
         q3 = Question("3","1","Where am I?",True,1000)
         session.add(q1)
         session.add(q2)
         session.add(q3)
         a11 = AnswerModel("einseins",1,userID,0,1000.0)
         a12 = AnswerModel("einszwei",1,1338,  0,1000.0)
         a13 = AnswerModel("einsdrei",1,1339,  0,1000.0)
         a21 = AnswerModel("zweieins",2,userID,0,1000.0)
         a22 = AnswerModel("zweizwei",2,1338,  0,1000.0)
         a23 = AnswerModel("zweidrei",2,1339,  0,1000.0)
         a31 = AnswerModel("dreieins",3,userID,0,1000.0)
         a32 = AnswerModel("dreizwei",3,1338,  0,1000.0)
         a33 = AnswerModel("dreidrei",3,1339,  0,1000.0)
         session.add(a11)
         session.add(a12)
         session.add(a13)
         session.add(a21)
         session.add(a22)
         session.add(a23)
         session.add(a31)
         session.add(a32)
         session.add(a33)
         session.commit()
示例#18
0
	def submit_rating(rating):
		session.add(Rating(rating))
		session.commit()
示例#19
0
 def save(questionID, userID, answerText):
     session.add(AnswerModel(
         questionID=questionID, userID=userID, text=answerText, edit=0))
     session.commit()
示例#20
0
 def savereview(questionID, userID, answerText, edit):
     session.add(AnswerModel(questionID=questionID,
                 userID=userID, text=answerText, edit=edit + 1))
     session.commit()
示例#21
0
 def add(answer_id, user_id):
     if session.query(Schedule).filter(Schedule.answer_id == answer_id,
             Schedule.user_id == user_id).first() is None:
         session.add(Schedule(answer_id, user_id))
         session.commit()
示例#22
0
 def archived(self, value):
      self._archived = value
      session.add(self)
      session.commit()
示例#23
0
 def add_tag(name):
     if session.query(Tag.name).filter(Tag.name == name).first() is None:
         session.add(Tag(name))
         session.commit()
示例#24
0
 def add_answertag(aid, tid):
     if session.query(AnswerTag).filter(
             AnswerTag.answer_id==aid,
             AnswerTag.tag_id==tid).first() is None:
         session.add(AnswerTag(aid, tid))
         session.commit()
示例#25
0
 def closed(self, value):
      self._closed = value
      session.add(self)
      session.commit()
示例#26
0
 def reviewable(self, value):
      self._reviewable = value
      session.add(self)
      session.commit()
示例#27
0
 def answerable(self, value):
      self._answerable = value
      session.add(self)
      session.commit()
示例#28
0
 def add(cls, user_id, text):
     session.add(cls(user_id, text))
     session.commit()
示例#29
0
 def add(answer_id, user_id, rating, text):
     if session.query(Review).filter(Review.answer_id == answer_id,
             Review.user_id == user_id).first() is None:
         session.add(Review(answer_id, user_id, rating, text))
         session.commit()