Пример #1
0
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()
Пример #2
0
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()
Пример #3
0
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())
Пример #4
0
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
Пример #5
0
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)
Пример #6
0
def render_projects(student):
    projects = Project.list(student.course.name)
    return render_to_string('projects.html', dict(projects=projects, student=student))
Пример #7
0
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)
Пример #8
0
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)
Пример #9
0
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])
Пример #10
0
def approve_requirements(course, id):
    project = Project.lookup(course, id)
    for i, r in enumerate(project.requirements):
        r.correct = r.actual
        r.save()
Пример #11
0
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))
Пример #12
0
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)))
Пример #13
0
def list_projects(course):
    return as_text(Project.list(course))