Exemplo n.º 1
0
def add_answerquestion(id_ques):
    answer_question = id_ques
    answer_content = request.json['answer_content']
    answer_vote = 0

    new_answerquestion = Answer(answer_question, answer_content, answer_vote)

    db.session.add(new_answerquestion)
    db.session.commit()

    return answer_schema.jsonify(new_answerquestion)
Exemplo n.º 2
0
    def addAnswer(self, id, questionId, responseId, content):
        engine = create_engine('sqlite:///database.db')
        Base.metadata.bind = engine
        DBSession = sessionmaker(bind=engine)
        session = DBSession()

        newAnswer = Answer(id=id,
                           questionId=questionId,
                           responseId=responseId,
                           content=content)
        session.add(newQuestion)
        session.commit()
        session.close()
Exemplo n.º 3
0
def parse_submit_answer(info_dict):
    # Parse and create submit object / answer objects
    submit_obj = Submit(survey_id=info_dict['survey_id'],
                        submit_ip=info_dict['submit_ip'],
                        username=info_dict['username'],
                        submit_date=info_dict['submit_date'])
    db.session.add(submit_obj)
    db.session.flush()
    submit_id = submit_obj.index

    # Create answer objects
    for answer, question in zip(info_dict['answers'], info_dict['questions']):
        answer_obj = Answer(question_id=question['index'],
                            submit_id=submit_id,
                            survey_id=info_dict['survey_id'],
                            type=question['type'],
                            content=json.dumps(answer))
        db.session.add(answer_obj)
    db.session.commit()
Exemplo n.º 4
0
def insert_data(evaluations):

    for evaluation in evaluations:

        evaluation_data = {}
        now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

        # course info located in first row, first td
        row = evaluation.xpath('.//tr/td')[0]

        evaluation_data["source"] = parser.get_data_source(evaluation)
        evaluation_data["instructor"] = parser.get_instructor_name(row)
        evaluation_data["course_name"] = parser.get_course_name(row)
        evaluation_data["semester_full"] = parser.get_full_semester(row)
        evaluation_data["semester"] = parser.get_semester(
            evaluation_data["semester_full"])
        evaluation_data["year"] = parser.get_year(
            evaluation_data["semester_full"])
        evaluation_data["reg_index"] = parser.get_reg_index(row)
        evaluation_data["course_code"] = parser.get_course_code(row)
        evaluation_data['school'] = parser.get_school(
            evaluation_data["course_code"])
        evaluation_data['department'] = parser.get_department(
            evaluation_data["course_code"])
        evaluation_data['course'] = parser.get_course(
            evaluation_data["course_code"])
        evaluation_data['section'] = parser.get_section(
            evaluation_data["course_code"])
        evaluation_data["enrollments"] = parser.get_num_enrollments(row)
        evaluation_data["responses"] = parser.get_num_responses(row)
        evals = parser.get_eval_rows(evaluation)
        parser.get_school(evaluation_data["course_code"])

        course_session = session()
        course = Course(course_name=evaluation_data["course_name"],
                        year=evaluation_data["year"],
                        semester=evaluation_data["semester"],
                        school=evaluation_data['school'],
                        department=evaluation_data['department'],
                        course=evaluation_data['course'],
                        section=evaluation_data['section'],
                        regindex=evaluation_data["reg_index"],
                        source=evaluation_data['source'],
                        enrollments=evaluation_data['enrollments'],
                        responses=evaluation_data['responses'],
                        instructor=evaluation_data["instructor"],
                        created_at=now)
        course_session.close()
        course_id = add_course(course_session, course)
        if course_id == -1:
            print("Skipping course [{}] - {} - {}".format(
                course_id, evaluation_data["course_name"],
                evaluation_data["instructor"]))
        else:
            print("Added course [{}] - {} - {}".format(
                course_id, evaluation_data["course_name"],
                evaluation_data["instructor"]))

            evaluation_data["questions"] = evals
            #print("Instructor {} : {}".format(evaluation_data["instructor"], evals))
            evals_json = json.dumps(evaluation_data)
            evals_json = json.loads(evals_json)

            for e in evals_json['questions']:
                #print(evals_json['questions'][e])
                q_text = evals_json['questions'][e]['question_text']
                q_type = evals_json['questions'][e]['question_type']

                responses = evals_json['questions'][e]['response']

                question_session = session()
                question = Question(question_text=bytearray(q_text, 'utf-8'),
                                    question_type=q_type,
                                    created_at=now)
                q_id = add_question(question_session, question)
                question_session.close()

                answer_session = session()
                rate_1, rate_2, rate_3, rate_4, rate_5, blank = 0, 0, 0, 0, 0, 0
                responses = OrderedDict(sorted(responses.items()))

                for indx, inc in enumerate(responses):
                    if indx == 0:
                        rate_1 = responses[inc]
                    elif indx == 1:
                        rate_2 = responses[inc]
                    elif indx == 2:
                        rate_3 = responses[inc]
                    elif indx == 3:
                        rate_4 = responses[inc]
                    elif indx == 4:
                        rate_5 = responses[inc]
                    elif indx == 5:
                        blank = responses[inc]

                answer = Answer(course_id=course_id,
                                question_id=q_id,
                                rating_1=rate_1,
                                rating_2=rate_2,
                                rating_3=rate_3,
                                rating_4=rate_4,
                                rating_5=rate_5,
                                blank=blank,
                                created_at=now)

                add_answer(answer_session, answer)
                answer_session.close()