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")
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")
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)