示例#1
0
文件: display.py 项目: vintas/indico
 def _process(self):
     filename = '{}-category.ics'.format(
         secure_filename(self.category.title, str(self.category.id)))
     buf = serialize_categories_ical([self.category.id], session.user,
                                     Event.end_dt >=
                                     (now_utc() - timedelta(weeks=4)))
     return send_file(filename, buf, 'text/calendar')
示例#2
0
 def category(self, idlist, format):
     try:
         idlist = map(int, idlist)
     except ValueError:
         raise HTTPAPIError('Category IDs must be numeric', 400)
     if format == 'ics':
         buf = serialize_categories_ical(idlist, self.user,
                                         event_filter=Event.happens_between(self._fromDT, self._toDT),
                                         event_filter_fn=self._filter_event,
                                         update_query=self._update_query)
         return send_file('events.ics', buf, 'text/calendar')
     else:
         query = (Event.query
                  .filter(~Event.is_deleted,
                          Event.category_chain_overlaps(idlist),
                          Event.happens_between(self._fromDT, self._toDT))
                  .options(*self._get_query_options(self._detail_level)))
     query = self._update_query(query)
     return self.serialize_events(x for x in query if self._filter_event(x) and x.can_access(self.user))
示例#3
0
文件: api.py 项目: ipaste/indico
 def category(self, idlist, format):
     try:
         idlist = map(int, idlist)
     except ValueError:
         raise HTTPAPIError('Category IDs must be numeric', 400)
     if format == 'ics':
         buf = serialize_categories_ical(idlist, self.user,
                                         event_filter=Event.happens_between(self._fromDT, self._toDT),
                                         event_filter_fn=self._filter_event,
                                         update_query=self._update_query)
         return send_file('events.ics', buf, 'text/calendar')
     else:
         query = (Event.query
                  .filter(~Event.is_deleted,
                          Event.category_chain_overlaps(idlist),
                          Event.happens_between(self._fromDT, self._toDT))
                  .options(*self._get_query_options(self._detail_level)))
     query = self._update_query(query)
     return self.serialize_events(x for x in query if self._filter_event(x) and x.can_access(self.user))
示例#4
0
文件: display.py 项目: OmeGak/indico
 def _process(self):
     filename = '{}-category.ics'.format(secure_filename(self.category.title, str(self.category.id)))
     buf = serialize_categories_ical([self.category.id], session.user,
                                     Event.end_dt >= (now_utc() - timedelta(weeks=4)))
     return send_file(filename, buf, 'text/calendar')