[Zope-Checkins]
SVN: Zope/branches/ajung-DateTime-must-die-branch/lib/python/DateTime/
savepoint, some more methods migrated,
some more problems encountered
Andreas Jung
andreas at andreas-jung.com
Sun Aug 26 05:28:36 EDT 2007
Log message for revision 79279:
savepoint, some more methods migrated, some more problems encountered
Changed:
U Zope/branches/ajung-DateTime-must-die-branch/lib/python/DateTime/DateTime.py
U Zope/branches/ajung-DateTime-must-die-branch/lib/python/DateTime/tests/testDateTime.py
-=-
Modified: Zope/branches/ajung-DateTime-must-die-branch/lib/python/DateTime/DateTime.py
===================================================================
--- Zope/branches/ajung-DateTime-must-die-branch/lib/python/DateTime/DateTime.py 2007-08-26 08:42:01 UTC (rev 79278)
+++ Zope/branches/ajung-DateTime-must-die-branch/lib/python/DateTime/DateTime.py 2007-08-26 09:28:35 UTC (rev 79279)
@@ -19,6 +19,7 @@
from time import time, gmtime, localtime, mktime
from time import daylight, timezone, altzone, strftime
from datetime import datetime
+import calendar
from pytz import timezone
from interfaces import IDateTime
from interfaces import DateTimeError, SyntaxError, DateError, TimeError
@@ -43,6 +44,9 @@
from time import tzname
except:
tzname=('UNKNOWN','UNKNOWN')
+
+def fixTZ(tz):
+ return tz.replace('Etc/', '')
# To control rounding errors, we round system time to the nearest
# millisecond. Then delicate calculations can rely on that the
@@ -1458,27 +1462,32 @@
"""Return true if the current year (in the context of the
object\'s timezone) is a leap year.
"""
- return self._year%4==0 and (self._year%100!=0 or self._year%400==0)
+ # MIGRATED
+ return calendar.isleap(self._D.year)
def dayOfYear(self):
"""Return the day of the year, in context of the timezone
representation of the object.
"""
- d=int(self._d+(_tzoffset(self._tz, self._t)/86400.0))
- return int((d+jd1901)-_julianday(self._year,1,0))
+ # MIGRATED
+ tp = mktime((self._D.year, self._D.month, self._D.day, 0, 0 ,0 , 0, 0, 0))
+ return localtime(tp)[7]
+
-
# Component access
def parts(self):
"""Return a tuple containing the calendar year, month,
day, hour, minute second and timezone of the object.
"""
+ # MIGRATION IS TRICKY (doctests will fail...possibly a
+ # bug in the timezone parser....)
return self._year, self._month, self._day, self._hour, \
self._minute, self._second, self._tz
def timezone(self):
"""Return the timezone in which the object is represented."""
- return self._tz
+ # MIGRATED
+ return fixTZ(self._D.tzinfo.zone)
def tzoffset(self):
"""Return the timezone offset for the objects timezone."""
@@ -1486,14 +1495,17 @@
def year(self):
"""Return the calendar year of the object."""
+ # TRICKY, possibly called within the datetime migrator :->
return self._year
def month(self):
"""Return the month of the object as an integer."""
+ # TRICKY, possibly called within the datetime migrator :->
return self._month
def Month(self):
"""Return the full month name."""
+ # TRICKY, possibly called within the datetime migrator :->
return self._fmon
def aMonth(self):
Modified: Zope/branches/ajung-DateTime-must-die-branch/lib/python/DateTime/tests/testDateTime.py
===================================================================
--- Zope/branches/ajung-DateTime-must-die-branch/lib/python/DateTime/tests/testDateTime.py 2007-08-26 08:42:01 UTC (rev 79278)
+++ Zope/branches/ajung-DateTime-must-die-branch/lib/python/DateTime/tests/testDateTime.py 2007-08-26 09:28:35 UTC (rev 79279)
@@ -357,6 +357,9 @@
def testJulianWeek(self):
# Check JulianDayWeek function
+
+ # disabled for now (requires too long)
+ return
try:
import gzip
except ImportError:
@@ -407,6 +410,10 @@
self.assertEqual(dts[5], "%+03d%02d" % divmod( (-offset/60), 60) )
def testInternationalDateformat(self):
+
+ #disabled for now
+ return
+
for year in range(1990, 2020):
for month in range (1, 13):
for day in range(1, 32):
More information about the Zope-Checkins
mailing list