def handler(request): """Handler which outputs an iCal feed.""" cal = vobject.iCalendar() # /ical/<key> try: # If a key is passed, return just that Event unused_ical, key = request.path_info.split('/') event = shortcuts.get_object_or_404(models.Event, pk=key) self.add_event(request.get_host(), event, cal) except IndexError: # else whole calendar. future_events = event_lists.get_future_events() current_events = event_lists.get_current_events() for event, _, _ in current_events.events: self.add_event(request.get_host(), event, cal) for event, _, _ in future_events.events: self.add_event(event, cal) response = http.HttpResponse() response['Content-Type'] = 'text/x-vCalendar' response.write(cal.serialize()) return response
def handler(request): """Handler which outputs an RSS feed.""" rss = rss_gen.RSS2(title="Slug Meetings", link=self.request.host_url, description="SLUG's Meetings") rss.lastBuildDate = datetime.datetime.utcnow() rss.items = [] future_events = event_lists.get_future_events() current_events = event_lists.get_current_events() for event, _, _ in future_events.events: self.add_event(request.get_host(), event, rss) for event, _, _ in current_events.events: self.add_event(request.get_host(), event, rss) response = http.HttpResponse() response['Content-Type'] = 'application/rss+xml' response.write(rss.to_xml()) return response