[Zope-Checkins] SVN: Zope/trunk/ Changed pytz support not to check
for the presence of pytz. We know pytz
Amos Latteier
amos at latteier.com
Thu Oct 18 13:50:16 EDT 2007
Log message for revision 80926:
Changed pytz support not to check for the presence of pytz. We know pytz
will be present. Changes as per Andreas's request.
Changed:
U Zope/trunk/doc/CHANGES.txt
U Zope/trunk/lib/python/DateTime/DateTime.py
U Zope/trunk/lib/python/DateTime/pytz.txt
U Zope/trunk/lib/python/DateTime/tests/testDateTime.py
-=-
Modified: Zope/trunk/doc/CHANGES.txt
===================================================================
--- Zope/trunk/doc/CHANGES.txt 2007-10-18 17:15:17 UTC (rev 80925)
+++ Zope/trunk/doc/CHANGES.txt 2007-10-18 17:50:15 UTC (rev 80926)
@@ -173,9 +173,9 @@
view to work. (patch by Sidnei da Silva from Enfold,
integration by Martijn Faassen (Startifact) for Infrae)
- - DateTime now uses pytz for time zone data if available. This
- means support for more time zones and up to date daylight
- saving time information.
+ - DateTime now uses pytz for time zone data. This means support
+ for more time zones and up to date daylight saving time
+ information.
Bugs Fixed
Modified: Zope/trunk/lib/python/DateTime/DateTime.py
===================================================================
--- Zope/trunk/lib/python/DateTime/DateTime.py 2007-10-18 17:15:17 UTC (rev 80925)
+++ Zope/trunk/lib/python/DateTime/DateTime.py 2007-10-18 17:50:15 UTC (rev 80926)
@@ -22,11 +22,7 @@
from interfaces import IDateTime
from interfaces import DateTimeError, SyntaxError, DateError, TimeError
from zope.interface import implements
-try:
- from pytz_support import PytzCache
-except ImportError:
- # pytz not available, use legacy timezone support
- PytzCache = None
+from pytz_support import PytzCache
default_datefmt = None
@@ -992,12 +988,8 @@
# For backward compatibility only:
_isDST = localtime(time())[8]
_localzone = _isDST and _localzone1 or _localzone0
+ _tzinfo = PytzCache(_cache())
- if PytzCache is not None:
- _tzinfo = PytzCache(_cache())
- else:
- _tzinfo = _cache()
-
def localZone(self, ltm=None):
'''Returns the time zone on the given date. The time zone
can change according to daylight savings.'''
@@ -2049,6 +2041,5 @@
# Module methods
def Timezones():
"""Return the list of recognized timezone names"""
- if PytzCache is not None:
- return list(PytzCache(_cache())._zlst)
- return _cache._zlst
+ return list(PytzCache(_cache())._zlst)
+
Modified: Zope/trunk/lib/python/DateTime/pytz.txt
===================================================================
--- Zope/trunk/lib/python/DateTime/pytz.txt 2007-10-18 17:15:17 UTC (rev 80925)
+++ Zope/trunk/lib/python/DateTime/pytz.txt 2007-10-18 17:50:15 UTC (rev 80926)
@@ -1,18 +1,13 @@
Pytz Support
============
-If the pytz package is importable, it will be used for time zone
-information, otherwise, DateTime's own time zone database is used. The
+
+Allows the pytz package to be used for time zone information. The
advantage of using pytz is that it has a more complete and up to date
time zone and daylight savings time database.
-This test assumes that pytz is available.
-
- >>> import pytz
-
Usage
-----
-If pytz is available, then DateTime will use it. You don't have to do
-anything special to make it work.
+You don't have to do anything special to make it work.
>>> from DateTime import DateTime, Timezones
>>> d = DateTime('March 11, 2007 US/Eastern')
@@ -53,9 +48,9 @@
-18000
Time Zones
-----------
-When pytz is available, DateTime can use its large database of time
-zones. Here are some examples:
+---------
+DateTime can use pytz's large database of time zones. Here are some
+examples:
>>> d = DateTime('Pacific/Kwajalein')
>>> d = DateTime('America/Shiprock')
@@ -75,13 +70,12 @@
>>> d = DateTime('iceland')
These time zones use DateTimes database. So it's preferable to use the
-official time zone name when you have pytz installed.
+official time zone name.
One trickiness is that DateTime supports some zone name
-abbreviations. Some of these map to pytz names, so when pytz is
-present these abbreviations will give you time zone date from
-pytz. Notable among abbreviations that work this way are 'est', 'cst',
-'mst', and 'pst'.
+abbreviations. Some of these map to pytz names, so these abbreviations
+will give you time zone date from pytz. Notable among abbreviations
+that work this way are 'est', 'cst', 'mst', and 'pst'.
Let's verify that 'est' picks up the 2007 daylight savings time changes.
@@ -115,7 +109,7 @@
Cache
~~~~~
-When pytz is present, the DateTime class uses a different time zone cache.
+The DateTime class uses a new time zone cache.
>>> DateTime._tzinfo #doctest: +ELLIPSIS
<DateTime.pytz_support.PytzCache instance at ...>
Modified: Zope/trunk/lib/python/DateTime/tests/testDateTime.py
===================================================================
--- Zope/trunk/lib/python/DateTime/tests/testDateTime.py 2007-10-18 17:15:17 UTC (rev 80925)
+++ Zope/trunk/lib/python/DateTime/tests/testDateTime.py 2007-10-18 17:50:15 UTC (rev 80926)
@@ -509,20 +509,12 @@
def test_suite():
from zope.testing import doctest
- try:
- # if pytz is available include a test for it
- import pytz
- return unittest.TestSuite([
- unittest.makeSuite(DateTimeTests),
- doctest.DocFileSuite('DateTime.txt', package='DateTime'),
- doctest.DocFileSuite('pytz.txt', package='DateTime'),
- ])
+ return unittest.TestSuite([
+ unittest.makeSuite(DateTimeTests),
+ doctest.DocFileSuite('DateTime.txt', package='DateTime'),
+ doctest.DocFileSuite('pytz.txt', package='DateTime'),
+ ])
- except ImportError:
- return unittest.TestSuite([
- unittest.makeSuite(DateTimeTests),
- doctest.DocFileSuite('DateTime.txt', package='DateTime')
- ])
if __name__=="__main__":
unittest.main(defaultTest='test_suite')
More information about the Zope-Checkins
mailing list