Example #1
0
def branch_calendar(request, branch_slug=None):
    """Display a calendar of events for a branch in iCalendar format.
    """
    branch = get_object_or_404(Branch, slug=branch_slug)
    courses = branch.course_set.public().approved()
    calendar = export.build_calendar_for_courses(courses, branch.domain)
    return HttpResponse(calendar.to_ical(), content_type="text/calendar")
Example #2
0
def course_calendar(request, course_slug=None, branch_slug=None):
    """Display an ical for with a single course."""
    course = get_object_or_404(
        Course, slug=course_slug, branch__slug=branch_slug)

    calendar = export.build_calendar_for_courses([course], course.branch.domain)
    return HttpResponse(calendar.to_ical(), content_type="text/calendar")
Example #3
0
    def test_build_calendar_for_courses(self):
        courses = [build_course(1), build_course(2)]
        calendar = export.build_calendar_for_courses(courses, "TradeSchool.coop").to_ical()

        expected = ["BEGIN:VCALENDAR\r", "VERSION:2.0\r", "PRODID:-//TradeSchool.coop//Calendar Export//\r"]
        self.assertSequenceEqual(calendar.split("\n")[:3], expected)
        self.assertIn("UID:[email protected]\r", calendar)
        self.assertIn("UID:[email protected]\r", calendar)