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)
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()
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()
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()