]> granicus.if.org Git - python/commitdiff
Make firstweekday a simple attribute instead
authorWalter Dörwald <walter@livinglogic.de>
Sat, 1 Apr 2006 20:40:23 +0000 (20:40 +0000)
committerWalter Dörwald <walter@livinglogic.de>
Sat, 1 Apr 2006 20:40:23 +0000 (20:40 +0000)
of hiding it behind a setter and a getter.

Doc/lib/libcalendar.tex
Lib/calendar.py

index bbdaf2dcc2032c225486b3186bfb06d0ff9adc2b..acfd2da7e230f9287b3e11005505b11872f20e30 100644 (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
index a003b46a52de7b5b13723a2227a77f82956e6c14..41537ba7a689dea09c2884b2cbaf7399a5d13ade 100644 (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