def calendar_from_topic(context): """Container/Event adapter. Returns an icalendar.Calendar object from a Collection. """ context = aq_inner(context) result = context.queryCatalog(batch=False, full_objects=False) return construct_icalendar(context, result)
def ical(self): events = self.events(ret_mode=2, batch=False) # get as objects cal = construct_icalendar(self.context, events) name = '%s.ics' % self.context.getId() self.request.RESPONSE.setHeader('Content-Type', 'text/calendar') self.request.RESPONSE.setHeader('Content-Disposition', 'attachment; filename="%s"' % name) self.request.RESPONSE.write(cal.to_ical())
def render(self): if not self.is_valid_date: raise NotFound() if not self.is_ical_export: return self._template.render(self) else: if self.date: calendar = construct_icalendar(self.context, [self.occurrence]) for component in calendar.subcomponents: if 'RRULE' in component: del component['RRULE'] else: calendar = construct_icalendar(self.context, [self.context]) return utils.render_ical_response(self.request, self.context, calendar)
def ical(self): events = self.events(ret_mode=2, batch=False) # get as objects cal = construct_icalendar(self.context, events) name = '%s.ics' % self.context.getId() self.request.RESPONSE.setHeader('Content-Type', 'text/calendar') self.request.RESPONSE.setHeader('Content-Disposition', 'attachment; filename="%s"' % name) self.request.RESPONSE.write(cal.to_ical())
def calendar(self, search=None, term=None): if search: items = super(EventsDirectoryCatalog, self).search(search) elif term: items = super(EventsDirectoryCatalog, self).filter(term) else: items = super(EventsDirectoryCatalog, self).items() return construct_icalendar(self.directory, items)
def calendar(self, search=None, term=None): if search: items = super(EventsDirectoryCatalog, self).search(search) elif term: items = super(EventsDirectoryCatalog, self).filter(term) else: items = super(EventsDirectoryCatalog, self).items() return construct_icalendar(self.directory, items)
def render(self): if not self.is_valid_date: raise NotFound() if not self.is_ical_export: return self._template.render(self) else: if self.date: calendar = construct_icalendar( self.context, [self.occurrence] ) for component in calendar.subcomponents: if 'RRULE' in component: del component['RRULE'] else: calendar = construct_icalendar( self.context, [self.context] ) utils.render_ical_response(self.request, self.context, calendar)
def ical(self): # Get as objects. # Don't include occurrences to avoid having them along with their # original events and it's recurrence definition in icalendar exports. events = self.events(ret_mode=RET_MODE_OBJECTS, expand=False, batch=False) cal = construct_icalendar(self.context, events) name = '%s.ics' % self.context.getId() self.request.RESPONSE.setHeader('Content-Type', 'text/calendar') self.request.RESPONSE.setHeader('Content-Disposition', 'attachment; filename="%s"' % name) self.request.RESPONSE.write(cal.to_ical())
def ical(self): # Get as objects. # Don't include occurrences to avoid having them along with their # original events and it's recurrence definition in icalendar exports. events = self.events(ret_mode=RET_MODE_OBJECTS, expand=False, batch=False) cal = construct_icalendar(self.context, events) name = '%s.ics' % self.context.getId() self.request.RESPONSE.setHeader('Content-Type', 'text/calendar') self.request.RESPONSE.setHeader( 'Content-Disposition', 'attachment; filename="%s"' % name ) self.request.RESPONSE.write(cal.to_ical())
def construct_calendar(context, events): return construct_icalendar(context, events)