def add_section(exam_in_db,section_dict): # add simple properties properties_to_add=["name","info","comment","postinfo", "allowed_attempts", "show_correct_answer", "show_solution", "max_questions_to_attempt"] section = Section() for key in properties_to_add: if key in section_dict and hasattr(section,key): setattr(section,key,section_dict[key]) section.exam = exam_in_db # add compound properties if "marking_scheme" in section_dict: subdict = section_dict["marking_scheme"] if "correct" in subdict: section.correct_marks = subdict["correct"] if "wrong" in subdict: section.wrong_marks = subdict["wrong"] if "na" in subdict: section.na_marks = subdict["na"] if "hint_deduction" in subdict: section.hint_deduction = subdict["hint_deduction"] if "unlock" in section_dict: subdict = section_dict["unlock"] if "marks" in subdict: section.unlock_marks = subdict["marks"] if "questions" in subdict: section.unlock_questions = subdict["questions"] if "both_needed" in subdict: section.unlock_both_needed = subdict["both_needed"] if "shuffle" in section_dict: subdict = section_dict["shuffle"] if "questions" in subdict: section.shuffle_questions = subdict["questions"] if "options" in subdict: section.shuffle_options = subdict["options"] section.save() # add tags if "tags" in section_dict: for tagname in section_dict["tags"]: section.add_tag(tagname) # add questions for question_dict in section_dict["questions"]: add_question(section,question_dict)
def add_section(exam_in_db, section_dict): # add simple properties properties_to_add = [ "name", "info", "comment", "postinfo", "allowed_attempts", "show_correct_answer", "show_solution", "max_questions_to_attempt" ] section = Section() for key in properties_to_add: if key in section_dict and hasattr(section, key): setattr(section, key, section_dict[key]) section.exam = exam_in_db # add compound properties if "marking_scheme" in section_dict: subdict = section_dict["marking_scheme"] if "correct" in subdict: section.correct_marks = subdict["correct"] if "wrong" in subdict: section.wrong_marks = subdict["wrong"] if "na" in subdict: section.na_marks = subdict["na"] if "hint_deduction" in subdict: section.hint_deduction = subdict["hint_deduction"] if "unlock" in section_dict: subdict = section_dict["unlock"] if "marks" in subdict: section.unlock_marks = subdict["marks"] if "questions" in subdict: section.unlock_questions = subdict["questions"] if "both_needed" in subdict: section.unlock_both_needed = subdict["both_needed"] if "shuffle" in section_dict: subdict = section_dict["shuffle"] if "questions" in subdict: section.shuffle_questions = subdict["questions"] if "options" in subdict: section.shuffle_options = subdict["options"] section.save() # add tags if "tags" in section_dict: for tagname in section_dict["tags"]: section.add_tag(tagname) # add questions for question_dict in section_dict["questions"]: add_question(section, question_dict)