def iterMeetings(self, date, until_date=None): if self.timetable is None: return meetings = iterMeetingsInTimezone( self.timetable, self.timezone, date, until_date=until_date) selected_periods = list(self.periods) last_meeting = None for orig_meeting in meetings: # XXX: proxy issues may breed here if orig_meeting.period in selected_periods: meeting = orig_meeting if (self.consecutive_periods_as_one and last_meeting is not None and meeting.dtstart.date() == last_meeting.dtstart.date()): period_ids = meeting.period.__parent__.keys() idx = period_ids.index(meeting.period.__name__) if (idx > 0 and period_ids[idx-1] == last_meeting.period.__name__): meeting = meeting.clone( meeting_id=last_meeting.meeting_id) last_meeting = orig_meeting yield meeting
def iterMeetings(self, date, until_date=None): if self.timetable is None: return meetings = iterMeetingsInTimezone(self.timetable, self.timezone, date, until_date=until_date) selected_periods = list(self.periods) last_meeting = None for orig_meeting in meetings: # XXX: proxy issues may breed here if orig_meeting.period in selected_periods: meeting = orig_meeting if ( self.consecutive_periods_as_one and last_meeting is not None and meeting.dtstart.date() == last_meeting.dtstart.date() ): period_ids = meeting.period.__parent__.keys() idx = period_ids.index(meeting.period.__name__) if idx > 0 and period_ids[idx - 1] == last_meeting.period.__name__: meeting = meeting.clone(meeting_id=last_meeting.meeting_id) last_meeting = orig_meeting yield meeting
def getDefaultMeetings(self, date, timezone): term = getTermForDate(date) if term is None: return [] schoolyear = ISchoolYear(term) timetable_container = interfaces.ITimetableContainer(schoolyear) default_schedule = timetable_container.default if default_schedule is None: return [] meetings = list(iterMeetingsInTimezone( default_schedule, timezone, date)) return meetings
def getDefaultMeetings(self, date, timezone): term = getTermForDate(date) if term is None: return [] schoolyear = ISchoolYear(term) timetable_container = interfaces.ITimetableContainer(schoolyear) default_schedule = timetable_container.default if default_schedule is None: return [] meetings = list( iterMeetingsInTimezone(default_schedule, timezone, date)) return meetings