def _assignment_obj_from_text(title, text, doc_link, doc_name, course): """ Convert text to Assignment Object @param title: title of assignment @type title: str @param text: description of Assignment @type text: str @param doc_link: url of attachment @type doc_link: str @param doc_name: name of attachment @type doc_name: str @param course: course name @type course: str @return: @rtype: """ assignment = Assignment() assignment.title = title assignment.doc_link = doc_link assignment.doc_name = doc_name assignment.course = course try: info_list = text.split("\n") assignment.due_date = info_list[3].replace("Due date", '').strip() except IndexError as e: logger.error(e) return assignment
def process_assignments(assignments, user_id, course_id): id_map = {} for assignment in assignments: id = assignment['id'] a = Assignment(name=assignment['name'], body=assignment['body'], give_feedback=assignment['on_run'], starting_code=assignment['on_start'], type='blockpy', visibility=assignment['visibility'], disabled=assignment['disabled'], mode=assignment['mode'], owner_id = user_id, course_id = course_id, version = assignment['version'], ) db.session.add(a) db.session.commit() id_map[id] = a.id return id_map
def run(self, user_data_file, **kwargs): from models.models import Role, User, Course, Assignment print("Adding Admin") admin = User(first_name='Cory', last_name='Bart', password=encrypt_password('password'), confirmed_at=datetime.datetime.now(), active=True, email='*****@*****.**', gender='Male') db.session.add(admin) db.session.flush() db.session.add(Role(name='instructor', user_id=admin.id)) db.session.add(Role(name='admin', user_id=admin.id)) print("Adding some students for color") for student in ('Dan Tilden', 'Anamary Leal', 'Ellie Cayford'): first, last = student.split() email = '{}{}@vt.edu'.format(first[0].lower(), last.lower()) db.session.add(User(first_name=first, last_name=last, email=email)) print("Adding default course") default_course = Course(name="Default Course", owner_id=admin.id, service="blockpy") db.session.add(default_course) db.session.flush() print("Adding some assignments") assignment1 = Assignment(name="Example #1", body="a=b+c", course_id=default_course.id, owner_id=admin.id) db.session.add(assignment1) db.session.commit() print("Complete")
def random_color(): colors = ['cyan', 'blue', 'magenta', None] return random.choice(colors) if __name__ == '__main__': from models.models import Quiz, Assignment q1 = Quiz(title="quiz 1", due_date="wednesday 7 april 2021 3:00 pm", course="course 1", time_limit="20 min") q2 = Assignment(title="quiz 2", due_date="wednesday 27 april 2021 3:00 pm", course="course 1") q3 = Quiz(title="quiz 3", due_date="saturday 24 april 2021 4:00 pm", course="course 2", time_limit="1 hour") q4 = Assignment(title="quiz 4", due_date="saturday 24 april 2021 5:00 pm", course="course 1") dic = { "course 1": { "quizzes": [q1], "assignments": [q2, q4] }, "course 2": {
def run(self, user_data_file, **kwargs): from models.models import Role, User, Course, Assignment, CourseAssignment, AssignmentGroup, AssignmentGroupMembership print("Adding Admin") admin = User(first_name='Cory', last_name='Bart', password=encrypt_password('password'), confirmed_at=datetime.datetime.now(), active=True, email='*****@*****.**', gender='Male') db.session.add(admin) db.session.flush() db.session.add(Role(name='instructor', user_id=admin.id)) db.session.add(Role(name='admin', user_id=admin.id)) print("Adding some students for color") for student in ('Dan Tilden', 'Anamary Leal', 'Ellie Cayford'): first, last = student.split() email = '{}{}@vt.edu'.format(first[0].lower(), last.lower()) user = User(first_name=first, last_name=last, email=email) db.session.add(user) print("Adding default course") default_course = Course(name="Computational Thinking", owner_id=admin.id, service="native") db.session.add(default_course) db.session.flush() print("Adding public course") public_course = Course(name="Public Course", owner_id=admin.id, service="native", visibility='public') db.session.add(public_course) db.session.flush() db.session.add( Role(name='instructor', course_id=public_course.id, user_id=admin.id)) print("Adding local Canvas course") canvas_course = Course( name="Computational Thinking - Dev", owner_id=admin.id, service='canvas', visibility='private', external_id='cbdd860576c6c08ccb998b93009305c318bd269b') db.session.add(canvas_course) db.session.flush() print("Adding CS1 course") cs1_course = Course(name="CS 1", owner_id=user.id, service='canvas', visibility='private') db.session.add(cs1_course) db.session.flush() print("Adding some assignments") assignment1 = Assignment(name="Assignment #1", body="a=b+c", course_id=default_course.id, owner_id=admin.id) db.session.add(assignment1) assignment2 = Assignment(name="Assignment #2", body="Figure it out!", course_id=default_course.id, owner_id=admin.id) db.session.add(assignment2) assignment3 = Assignment(name="Assignment #3", body="Clue", course_id=default_course.id, owner_id=admin.id) db.session.add(assignment3) ca1 = CourseAssignment(course_id=public_course.id, assignment_id=assignment1.id) db.session.add(ca1) ca2 = CourseAssignment(course_id=public_course.id, assignment_id=assignment2.id) db.session.add(ca2) ag1 = AssignmentGroup(name="Day 1 - Decision", course_id=default_course.id) db.session.add(ag1) ag2 = AssignmentGroup(name="Day 2 - Iteration", course_id=default_course.id) db.session.add(ag2) db.session.commit() db.session.add( AssignmentGroupMembership(assignment_group_id=ag1.id, assignment_id=assignment1.id)) db.session.add( AssignmentGroupMembership(assignment_group_id=ag1.id, assignment_id=assignment2.id)) db.session.add( AssignmentGroupMembership(assignment_group_id=ag2.id, assignment_id=assignment3.id)) db.session.commit() print("Complete")