Example #1
0
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
Example #2
0
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
Example #3
0
    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")
Example #4
0

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": {
Example #5
0
    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")