Ejemplo n.º 1
0
    def get_all_participate(polling_name, question_number):
        try:
            return session.query(Question.peer_id).filter(Question.polling_name == polling_name)\
                .filter(Question.question_number == str(question_number)).distinct()

        except Exception as e:
            session.rollback()
            logger.error("Failed to get questions, {}".format(e))
Ejemplo n.º 2
0
    def get_question_answer(peer_id, question_number, polling_name):
        try:
            return session.query(Question.answer).filter(Question.polling_name == polling_name)\
                .filter(Question.question_number == str(question_number)).filter(Question.peer_id == peer_id).first()[0]

        except Exception as e:
            session.rollback()
            logger.error("Failed to get questions, {}".format(e))
    def get_polling_control():

        try:
            control = session.query(PollingControl).one_or_none()
            return control.allowed
        except Exception as e:
            session.rollback()
            logger.error("Fail to get polling control, e:{}".format(e))
Ejemplo n.º 4
0
    def get_all_questions(polling_name):
        try:
            return session.query(Question).filter(Question.polling_name == polling_name)\
                .order_by(Question.peer_id, Question.question_number).all()

        except Exception as e:
            session.rollback()
            logger.error("Failed to get questions, {}".format(e))
Ejemplo n.º 5
0
    def get_polling_name(polling_number):
        try:
            all_polling_names = session.query(PollingName).order_by(
                PollingName.time).all()
            return all_polling_names[polling_number].polling_name

        except Exception as e:
            session.rollback()
            logger.error("Failed get polling name, error:{}".format(e))
Ejemplo n.º 6
0
    def get_question_number(last_polling_name):

        try:
            question_array =  session.query(Question.question_number).filter(Question.polling_name == last_polling_name)\
                .distinct()
            question_array = [int(item[0]) for item in question_array]
            return max(question_array)
        except Exception as e:
            session.rollback()
            logger.error("Failed to get questions, {}".format(e))
    def update_allowed():

        try:
            control = session.query(PollingControl).one_or_none()
            control.allowed = False
            session.commit()
            return control

        except Exception as e:
            session.rollback()
            logger.error("Faile to update polling controll, e:{}".format(e))
Ejemplo n.º 8
0
    def get_last_polling_message():
        try:
            all_polling_messages = session.query(PollingName).order_by(
                PollingName.time).all()
            if len(all_polling_messages) > 0:
                return all_polling_messages[-1].polling_message
            else:
                return None

        except Exception as e:
            session.rollback()
            logger.error("Failed to get polling message")
    def add_or_update(allowed):
        try:
            control = session.query(PollingControl).one_or_none()
            if not control:

                polling_control = PollingControl(allowed=allowed)
                session.add(polling_control)
                session.commit()
            else:
                control.allowed = True
                session.commit()
                logger.info("Added a question answer.")

            return control

        except Exception as e:
            session.rollback()
            logger.error(
                "Failed to add question answer, error is {}".format(e))
Ejemplo n.º 10
0
 def find_all():
     return session.query(User).all()
Ejemplo n.º 11
0
 def exists(peer_id):
     return session.query(
         session.query(User).filter(
             User.peer_id == peer_id).exists()).scalar()
Ejemplo n.º 12
0
    def update_flag():

        session.query(Question).filter(
            Question.answered_question_flag == 1).update(
                {Question.answered_question_flag: 0})
        session.commit()
Ejemplo n.º 13
0
 def number_of_answered_questions(peer_id, question_number):
     return session.query(Question.answered_question_flag)\
         .filter(Question.answered_question_flag == 1).filter(Question.peer_id == peer_id).filter(Question.question_number == str(question_number - 1)).first()
Ejemplo n.º 14
0
 def exists_answer(peer_id, question_number):
     return session.query(
         session.query(Question).filter(Question.peer_id == peer_id).filter(
             Question.question_number == str(
                 question_number)).exists()).scalar()