def update(self):
        context = aq_inner(self.context)

        self.calendar_linkbase = ICalendarLinkbase(context)
        self.calendar_linkbase.urlpath = '%s%s' % (
                self.calendar_linkbase.urlpath, self.data.search_base)

        self.year, self.month = year, month = self.year_month_display()
        self.prev_year, self.prev_month = prev_year, prev_month = (
            self.get_previous_month(year, month))
        self.next_year, self.next_month = next_year, next_month = (
            self.get_next_month(year, month))
        # TODO: respect current url-query string
        self.prev_query = '?month=%s&year=%s' % (prev_month, prev_year)
        self.next_query = '?month=%s&year=%s' % (next_month, next_year)

        self.cal = calendar.Calendar(first_weekday())
        self._ts = getToolByName(context, 'translation_service')
        self.month_name = PLMF(self._ts.month_msgid(month),
                              default=self._ts.month_english(month))

        # strftime %w interprets 0 as Sunday unlike the calendar.
        strftime_wkdays = [cal_to_strftime_wkday(day)
                for day in self.cal.iterweekdays()]
        self.weekdays = [PLMF(self._ts.day_msgid(day, format='s'),
                              default=self._ts.weekday_english(day, format='a'))
                         for day in strftime_wkdays]
 def test_cal_to_strftime_wkday(self):
     from plone.app.event.base import cal_to_strftime_wkday
     li = [cal_to_strftime_wkday(day) for day in range(0,7)]
     self.assertTrue(li == [1, 2, 3, 4, 5, 6, 0])