def ical_single_event (request, event_id): e = get_object_or_404(Event, id=event_id) event_list = [e] cal = ical_service.create_calendar_with_metadata(event_list, request) response = create_httpresponse(cal.as_string()) if e.date_time_begin < timezone.now(): patch_response_headers(response, cache_timeout=ONE_YEAR) return response
def ical_tag(request, tag_name): try: tag = EventTag.objects.get(name=tag_name) event_list = __get_upcomming_published_events_list() event_list = event_list.filter(tags=tag) except EventTag.DoesNotExist: event_list = () cal = ical_service.create_calendar_with_metadata(event_list, request) response = create_httpresponse(cal.as_string()) return response
def test_create_calendar_with_metadata(self): event_list = [Event.objects.get(id=1), Event.objects.get(id=2)] request = RequestFactory().get('/feed.ics') entry = ical_service.create_calendar_with_metadata(event_list, request) ical_string = entry.as_string() self.assertIn("BEGIN:VCALENDAR", ical_string) self.assertIn("VERSION:2.0", ical_string) self.assertIn("PRODID:-//Techism//Techism//DE", ical_string) self.assertIn("X-WR-CALDESC:Techism - Events\, Projekte\, User Groups in München", ical_string) self.assertIn("X-WR-CALNAME:Techism", ical_string) self.assertIn("BEGIN:VEVENT", ical_string) self.assertEqual(ical_string.count("BEGIN:VEVENT"), 2) self.assertIn("UID:[email protected]", ical_string) self.assertIn("UID:[email protected]", ical_string) self.assertIn("END:VCALENDAR", ical_string)
def ical(request): event_list = __get_upcomming_published_events_list() cal = ical_service.create_calendar_with_metadata(event_list, request) response = create_httpresponse(cal.as_string()) return response