0

I have the following emitter:

class iCalEmitter(Emitter):
    def render(self, request):
        data = self.construct()
        cal = Calendar()

        cal.add('prodid', 'iCalendar Feed')
        cal.add('version', '2.0')
        for event in data:
            if event.get('start'):
                event['start_time'] = event['start']
            if event.get('end'):
                event['end_time'] = event['end']

            ical_event = calEvent()
            ical_event.add('summary', event['title'])
            ical_event.add('dtstart', event['start_time'])
            ical_event.add('dtend', event['end_time']
                                    if event.get('end_time')
                                    else event['start_time'])
            ical_event['uid'] = event['id']
            cal.add_component(ical_event)

        return cal.as_string()

I'd like to modify the response so that it returns a downloadable file with a specific filename. How would I go about doing that? django-piston's documentation in this area seems very weak.

Jon Mooring
  • 151
  • 2
  • 13

1 Answers1

0

Modifying response headers through an emitter is not an easy task, so I took a different route. I added a URL pattern to my app to match /events/calendar.ics and passed the emitter_format parameter through the URL pattern. Ugly, but it works.

Jon Mooring
  • 151
  • 2
  • 13