def assignment_due(course, student, project, due): p = Project.lookup(course, project) a = Assignment.objects.get(project=p, student=student) a.due = due_date(due) a.score = 0 a.status = 0 a.save()
def add_assignment(course, student, project, due): p = Project.lookup(course, project) a = Assignment.objects.get_or_create(project=p, student=student, score=0, due=due_date(due), status=0)[0] a.date = now() a.save()
def validate_project_page(dom, student, project): p = Project.lookup(student.course.name, project) url = join(student.domain, p.page) source = capture_page(dom, url) requirements = capture_page_features(dom, p.requirements) student = 'Mark Seaman' return dict(student=student, url=url, requirements=requirements, source=source, date=now())
def add_project(course, num, title=None, page=None, due=None): project = Project.lookup(course, num) project.title = "Project #%s" % num if title: project.title += ' - ' + title if page: project.page = page if due: project.due = due_date(due) project.instructions = '/unc/%s/project/%s' % (course, num) project.save() return project
def weekly_agenda(course, week): project = Project.lookup(course, week) lessons = Lesson.objects.filter(course__name=course, week=week).order_by('date') return dict(week=week, lessons=lessons, project=project)
def create_project_record(course, project_num, page, requirements): p = Project.lookup(course, project_num) p.page = page p.save() for i, r in enumerate(requirements): add_requirement(p, i + 1, r[0], r[1])
def approve_requirements(course, id): project = Project.lookup(course, id) for i, r in enumerate(project.requirements): r.correct = r.actual r.save()