[Python-checkins] r82218 - sandbox/branches/py3k-datetime/datetime.py
alexander.belopolsky
python-checkins at python.org
Fri Jun 25 18:41:13 CEST 2010
Author: alexander.belopolsky
Date: Fri Jun 25 18:41:12 2010
New Revision: 82218
Log:
Use @property decorator to create read-only field accessors
Modified:
sandbox/branches/py3k-datetime/datetime.py
Modified: sandbox/branches/py3k-datetime/datetime.py
==============================================================================
--- sandbox/branches/py3k-datetime/datetime.py (original)
+++ sandbox/branches/py3k-datetime/datetime.py Fri Jun 25 18:41:12 2010
@@ -452,12 +452,25 @@
return s
def total_seconds(self):
+ """Total seconds in the duration."""
return ((self.days * 86400 + self.seconds)*10**6 +
- self.microseconds).__truediv__(10**6)
- days = property(lambda self: self.__days, doc="days")
- seconds = property(lambda self: self.__seconds, doc="seconds")
- microseconds = property(lambda self: self.__microseconds,
- doc="microseconds")
+ self.microseconds) / 10**6
+
+ # Read-only field accessors
+ @property
+ def days(self):
+ """days"""
+ return self.__days
+
+ @property
+ def seconds(self):
+ """seconds"""
+ return self.__seconds
+
+ @property
+ def microseconds(self):
+ """microseconds"""
+ return self.__microseconds
def __add__(self, other):
if isinstance(other, timedelta):
@@ -728,10 +741,20 @@
__str__ = isoformat
# Read-only field accessors
- year = property(lambda self: self.__year,
- doc="year (%d-%d)" % (MINYEAR, MAXYEAR))
- month = property(lambda self: self.__month, doc="month (1-12)")
- day = property(lambda self: self.__day, doc="day (1-31)")
+ @property
+ def year(self):
+ """year (1-9999)"""
+ return self.__year
+
+ @property
+ def month(self):
+ """month (1-12)"""
+ return self.__month
+
+ @property
+ def day(self):
+ """day (1-31)"""
+ return self.__day
# Standard conversions, __cmp__, __hash__ (and helpers)
@@ -951,8 +974,6 @@
else:
return (self.__class__, args, state)
-_tzinfo_class = tzinfo # so functions w/ args named "tzinfo" can get at it
-
class time:
"""Time with time zone.
@@ -1001,12 +1022,30 @@
return self
# Read-only field accessors
- hour = property(lambda self: self.__hour, doc="hour (0-23)")
- minute = property(lambda self: self.__minute, doc="minute (0-59)")
- second = property(lambda self: self.__second, doc="second (0-59)")
- microsecond = property(lambda self: self.__microsecond,
- doc="microsecond (0-999999)")
- tzinfo = property(lambda self: self._tzinfo, doc="timezone info object")
+ @property
+ def hour(self):
+ """hour (0-23)"""
+ return self.__hour
+
+ @property
+ def minute(self):
+ """minute (0-59)"""
+ return self.__minute
+
+ @property
+ def second(self):
+ """second (0-59)"""
+ return self.__second
+
+ @property
+ def microsecond(self):
+ """microsecond (0-999999)"""
+ return self.__microsecond
+
+ @property
+ def tzinfo(self):
+ """timezone info object"""
+ return self._tzinfo
# Standard conversions, __hash__ (and helpers)
@@ -1268,12 +1307,30 @@
return self
# Read-only field accessors
- hour = property(lambda self: self.__hour, doc="hour (0-23)")
- minute = property(lambda self: self.__minute, doc="minute (0-59)")
- second = property(lambda self: self.__second, doc="second (0-59)")
- microsecond = property(lambda self: self.__microsecond,
- doc="microsecond (0-999999)")
- tzinfo = property(lambda self: self._tzinfo, doc="timezone info object")
+ @property
+ def hour(self):
+ """hour (0-23)"""
+ return self.__hour
+
+ @property
+ def minute(self):
+ """minute (0-59)"""
+ return self.__minute
+
+ @property
+ def second(self):
+ """second (0-59)"""
+ return self.__second
+
+ @property
+ def microsecond(self):
+ """microsecond (0-999999)"""
+ return self.__microsecond
+
+ @property
+ def tzinfo(self):
+ """timezone info object"""
+ return self._tzinfo
@classmethod
def fromtimestamp(cls, t, tz=None):
More information about the Python-checkins
mailing list