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 list_course_content(): data = [banner('Course Content Data')] data += Course.list() for c in unc_courses(): data.append(banner(c)) data.append('\nPROJECTS:\n') data += [str(p) for p in Project.list(c)] data.append('\nLESSONS:\n') data += Lesson.list(c) data.append('\nSTUDENTS:') data.append(list_students(c)) # data.append('\nASSIGNMENTS:') # data.append(list_assignments(c)) return text_join(data)
def render_projects(student): projects = Project.list(student.course.name) return render_to_string('projects.html', dict(projects=projects, student=student))
def render_overview(course): lessons = Lesson.list(course) projects = Project.list(course) skills = Skill.list(course) data = dict(course=course, lessons=lessons, projects=projects, skills=skills) return render_to_string('overview.html', data)
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()
def print_projects(): for course in ['bacs200', 'bacs350']: print("\n%s" % c) for p in Project.list(course): print(" [%d] %s - due %s - %s" % (p.pk, p.title, date_str(p.due), p.page))
def export_projects(course): with open(project_csv(course), 'w') as f: for project in Project.list(course): f.write("%s,%s,%s,%s,%s\n" % (course, project.num, project.title, project.page, date_str(project.due)))
def list_projects(course): return as_text(Project.list(course))