def update(self): need(ICalendarResources) self.now = datetime.now(self.context.get_timezone()) self.selected_month = self.get_int_param('month', self.now.month) self.selected_year = self.get_int_param('year', self.now.year) try: self.selected_day = datetime( self.selected_year, self.selected_month, self.get_selected_day(self.now), tzinfo=self.context.get_timezone()) except ValueError: self.selected_day = self.now self.selected_year = self.now.year self.selected_month = self.now.month self.start = datetimeutils.start_of_month(self.selected_day) self.end = datetimeutils.end_of_month(self.selected_day) self._day_events = self._selected_day_events() self.calendar = self.build_calendar( self.selected_day.date(), self.start, self.end, self.now.date()) if self.should_display_prev_link(): self.calendar.prev_link = \ '<a class="prevmonth caljump" href="%s"><</a>' % \ self.prev_month_url() if self.should_display_next_link(): self.calendar.next_link = \ '<a class="nextmonth caljump" href="%s">></a>' % \ self.next_month_url()
def _get_items_by_date( self, month, year, timezone=local_timezone, meta_types=None, public_only=True, filter_items=True): """ This does not play well with recurrence, this should not be used with agenda items """ month = int(month) year = int(year) startdate = datetimeutils.start_of_month( datetime(year, month, 1, tzinfo=timezone)) enddate = datetimeutils.end_of_month(startdate) return self._get_items_by_date_range(startdate, enddate, meta_types=meta_types, public_only=public_only, filter_items=filter_items)