Make firstweekday a simple attribute instead

of hiding it behind a setter and a getter.
This commit is contained in:
Walter Dörwald 2006-04-01 20:40:23 +00:00
parent cd10347b65
commit f878b8120c
2 changed files with 12 additions and 26 deletions

View File

@ -36,15 +36,6 @@ subclasses.
\class{Calendar} instances have the following methods:
\begin{methoddesc}{firstweekday}{}
Return the first day of the week (as specified in the constructor
or changed via \method{setfirstweekday()}).
\end{methoddesc}
\begin{methoddesc}{setfirstweekday}{weekday}
Set the first day of the week.
\end{methoddesc}
\begin{methoddesc}{iterweekdays}{weekday}
Return an iterator for the week day numbers that will be used
for one week. The first number from the iterator will be the

View File

@ -128,25 +128,14 @@ class Calendar(object):
"""
def __init__(self, firstweekday=0):
self._firstweekday = firstweekday # 0 = Monday, 6 = Sunday
def firstweekday(self):
return self._firstweekday
def setfirstweekday(self, weekday):
"""
Set weekday (Monday=0, Sunday=6) to start each week.
"""
if not MONDAY <= weekday <= SUNDAY:
raise IllegalWeekdayError(weekday)
self._firstweekday = weekday
self.firstweekday = firstweekday # 0 = Monday, 6 = Sunday
def iterweekdays(self):
"""
Return a iterator for one week of weekday numbers starting with the
configured first one.
"""
for i in xrange(self._firstweekday, self._firstweekday + 7):
for i in xrange(self.firstweekday, self.firstweekday + 7):
yield i%7
def itermonthdates(self, year, month):
@ -157,13 +146,13 @@ class Calendar(object):
"""
date = datetime.date(year, month, 1)
# Go back to the beginning of the week
days = (date.weekday() - self._firstweekday) % 7
days = (date.weekday() - self.firstweekday) % 7
date -= datetime.timedelta(days=days)
oneday = datetime.timedelta(days=1)
while True:
yield date
date += oneday
if date.month != month and date.weekday() == self._firstweekday:
if date.month != month and date.weekday() == self.firstweekday:
break
def itermonthdays2(self, year, month):
@ -570,8 +559,14 @@ class LocaleHTMLCalendar(HTMLCalendar):
# Support for old module level interface
c = TextCalendar()
firstweekday = c.firstweekday
setfirstweekday = c.setfirstweekday
def firstweekday():
return c.firstweekday
def setfirstweekday(firstweekday):
if not MONDAY <= firstweekday <= SUNDAY:
raise IllegalWeekdayError(firstweekday)
c.firstweekday = firstweekday
monthcalendar = c.monthdayscalendar
prweek = c.prweek
week = c.formatweek