def GET(self, request, current=False): events = [] cal_names = ['sea_acad-inst', 'sea_acad-holidays'] calendars = [] for cal in cal_names: calendars.append(get_calendar_by_name(cal)) raw_events = [] index = 0 for calendar in calendars: for event in calendar.walk('vevent'): event.add("calendar_name", cal_names[index]) raw_events.append(event) index = index + 1 raw_events = self.sort_events(raw_events) raw_events = self.categorize_events(raw_events) raw_events = self.filter_past_events(request, raw_events) if current: raw_events = self.filter_non_current(request, raw_events) else: raw_events = self.filter_too_future_events(request, raw_events) for event in raw_events: events.append(self.json_for_event(event)) return HttpResponse(json.dumps(events))
def _get_all_events(dept_cals): events = [] for key in dept_cals: cal_id = key cal_base_url = dept_cals[key] try: calendar = get_calendar_by_name(cal_id) for event in calendar.walk('vevent'): event.event_url = parse_event_url(event, cal_base_url, cal_id) event.cal_id = cal_id event.base_url = cal_base_url event.cal_title = calendar.get('x-wr-calname').to_ical() events.append(event) except DataFailureException: pass return events
def test_ical_parsing(self): calendar = get_calendar_by_name('sea_acad-comm') self.assertEquals(len(calendar.walk('vevent')), 4)
def test_ical_parsing(self): with self.settings(RESTCLIENTS_CALENDAR_DAO_CLASS='restclients.dao_implementation.trumba.CalendarFile'): calendar = get_calendar_by_name('sea_acad-comm') self.assertEquals(len(calendar.walk('vevent')), 4)
def test_ical_parsing(self): with self.settings(RESTCLIENTS_CALENDAR_DAO_CLASS=CAL_DAO): calendar = get_calendar_by_name('sea_acad-comm') self.assertEquals(len(calendar.walk('vevent')), 4)