Beispiel #1
0
    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
Beispiel #2
0
    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
Beispiel #3
0
 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
Beispiel #4
0
 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