[Checkins] SVN: zc.datetimewidget/trunk/ - Fixed handling of naive datetime objects, they no longer result in

Michael Howitz mh at gocept.com
Mon Aug 24 04:08:16 EDT 2009


Log message for revision 103124:
  - Fixed handling of naive datetime objects, they no longer result in
    an exception but are displayed unchanged. When they get saved again
    they are saved with UTC timezone like all other ones.
  
  - Added `datetimewidget.txt` doctest to ``long_description`` to show
    up on pypi home page.
  
  - Fixed home page name in `setup.py`.
  
  - Added coverage analysis tools to buildout.
  
  - Removed deprecated zpkg and zcml slugs.
  

Changed:
  U   zc.datetimewidget/trunk/CHANGES.txt
  U   zc.datetimewidget/trunk/buildout.cfg
  U   zc.datetimewidget/trunk/setup.py
  U   zc.datetimewidget/trunk/src/zc/__init__.py
  D   zc.datetimewidget/trunk/src/zc/datetimewidget/SETUP.cfg
  U   zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py
  U   zc.datetimewidget/trunk/src/zc/datetimewidget/widgets.txt
  D   zc.datetimewidget/trunk/src/zc/datetimewidget/zc.datetimewidget-configure.zcml
  D   zc.datetimewidget/trunk/src/zc/datetimewidget/zc.datetimewidget-overrides.zcml

-=-
Modified: zc.datetimewidget/trunk/CHANGES.txt
===================================================================
--- zc.datetimewidget/trunk/CHANGES.txt	2009-08-24 08:05:17 UTC (rev 103123)
+++ zc.datetimewidget/trunk/CHANGES.txt	2009-08-24 08:08:15 UTC (rev 103124)
@@ -5,20 +5,33 @@
 0.6.3 (unreleased)
 ------------------
 
-- Nothing changed yet.
+- Fixed handling of naive datetime objects, they no longer result in
+  an exception but are displayed unchanged. When they get saved again
+  they are saved with UTC timezone like all other ones.
 
+- Added `datetimewidget.txt` doctest to ``long_description`` to show
+  up on pypi home page.
 
+- Fixed home page name in `setup.py`.
+
+- Added coverage analysis tools to buildout.
+
+- Removed deprecated zpkg and zcml slugs.
+
+
 0.6.2 (2009-05-20)
 ------------------
 
-- Using ++resource++ instead of @@/ to load resources.
+- Using `++resource++` instead of `@@/` to load resources.
 
-- Renaming "lang" directory (ZPublisher gets confused 
-  because of a view with the same same in zope.traversing.namespace).
+- Renaming "lang" directory (``ZPublisher`` gets confused because of a
+  view with the same name exists in ``zope.traversing.namespace``).
 
-(See gocept.datetimewidget for more details on how to use
-zc.datetimewidget with zope2.)
+  See `gocept.datetimewidget`_ for more details on how to use
+  zc.datetimewidget with zope2.
 
+.. _`gocept.datetimewidget` : http://pypi.python.org/pypi/gocept.datetimewidget
+
 0.6.1 (2008-05-29)
 ------------------
 

Modified: zc.datetimewidget/trunk/buildout.cfg
===================================================================
--- zc.datetimewidget/trunk/buildout.cfg	2009-08-24 08:05:17 UTC (rev 103123)
+++ zc.datetimewidget/trunk/buildout.cfg	2009-08-24 08:08:15 UTC (rev 103124)
@@ -1,7 +1,22 @@
 [buildout]
 develop = .
-parts = test
+parts = test checker coverage-test coverage-report
 
 [test]
 recipe = zc.recipe.testrunner
 eggs = zc.datetimewidget [test]
+
+[checker]
+recipe = lovely.recipe:importchecker
+path = src/zc/datetimewidget
+
+[coverage-test]
+recipe = zc.recipe.testrunner
+eggs = ${test:eggs}
+defaults = ['--coverage', '../../coverage']
+
+[coverage-report]
+recipe = zc.recipe.egg
+eggs = z3c.coverage
+scripts = coverage=coverage-report
+arguments = ('coverage', 'coverage/report')

Modified: zc.datetimewidget/trunk/setup.py
===================================================================
--- zc.datetimewidget/trunk/setup.py	2009-08-24 08:05:17 UTC (rev 103123)
+++ zc.datetimewidget/trunk/setup.py	2009-08-24 08:08:15 UTC (rev 103124)
@@ -28,12 +28,11 @@
       description='Javascript-based widgets for date and datetime fields.',
       long_description=(
           read('README.txt')
-          + '\n\n' +
-          'Detailed Dcoumentation\n' +
-          '======================\n'
-          + '\n\n' +
+          + '\n\n.. contents::\n\n' +
           read('src', 'zc', 'datetimewidget', 'widgets.txt')
           + '\n\n' +
+          read('src', 'zc', 'datetimewidget', 'datetimewidget.txt')
+          + '\n\n' +
           read('src', 'zc', 'datetimewidget', 'demo', 'README.txt')
           + '\n\n' +
           read('CHANGES.txt')
@@ -49,7 +48,7 @@
           'Operating System :: OS Independent',
           'Topic :: Internet :: WWW/HTTP',
           'Framework :: Zope3'],
-      url='http://cheeseshop.python.org/pypi/zc.datetimewidget',
+      url='http://pypi.python.org/pypi/zc.datetimewidget',
       license='ZPL 2.1',
       packages=find_packages('src'),
       package_dir={'': 'src'},

Modified: zc.datetimewidget/trunk/src/zc/__init__.py
===================================================================
--- zc.datetimewidget/trunk/src/zc/__init__.py	2009-08-24 08:05:17 UTC (rev 103123)
+++ zc.datetimewidget/trunk/src/zc/__init__.py	2009-08-24 08:08:15 UTC (rev 103124)
@@ -1,7 +1 @@
-# this is a namespace package
-try:
-    import pkg_resources
-    pkg_resources.declare_namespace(__name__)
-except ImportError:
-    import pkgutil
-    __path__ = pkgutil.extend_path(__path__, __name__)
+__import__('pkg_resources').declare_namespace(__name__)

Deleted: zc.datetimewidget/trunk/src/zc/datetimewidget/SETUP.cfg
===================================================================
--- zc.datetimewidget/trunk/src/zc/datetimewidget/SETUP.cfg	2009-08-24 08:05:17 UTC (rev 103123)
+++ zc.datetimewidget/trunk/src/zc/datetimewidget/SETUP.cfg	2009-08-24 08:08:15 UTC (rev 103124)
@@ -1,3 +0,0 @@
-<data-files zopeskel/etc/package-includes>
- zc.datetimewidget-*.zcml
-</data-files>

Modified: zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py
===================================================================
--- zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py	2009-08-24 08:05:17 UTC (rev 103123)
+++ zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py	2009-08-24 08:08:15 UTC (rev 103124)
@@ -16,7 +16,6 @@
 $Id: datetimewidget.py 4368 2005-12-08 22:19:15Z gary $
 """
 import datetime
-import pytz
 
 from zope.schema import TextLine, Bool, Int, Date, Choice
 from zope.schema import getFieldsInOrder
@@ -52,8 +51,9 @@
     return dt
 
 def localizeDateTime(dt, request):
-    if isinstance(dt, datetime.datetime) and \
-        dt.tzinfo.utcoffset(None) == datetime.timedelta(0):
+    if (isinstance(dt, datetime.datetime) and
+        dt.tzinfo is not None and
+        dt.tzinfo.utcoffset(None) == datetime.timedelta(0)):
 
         tzinfo = ITZInfo(request, None)
         if tzinfo is not None:

Modified: zc.datetimewidget/trunk/src/zc/datetimewidget/widgets.txt
===================================================================
--- zc.datetimewidget/trunk/src/zc/datetimewidget/widgets.txt	2009-08-24 08:05:17 UTC (rev 103123)
+++ zc.datetimewidget/trunk/src/zc/datetimewidget/widgets.txt	2009-08-24 08:08:15 UTC (rev 103124)
@@ -61,13 +61,13 @@
     >>> request = TestRequest(HTTP_ACCEPT_LANGUAGE='en-US')
     >>> field = IDemoContent['startDatetime']
     >>> widget = datetimewidget.DatetimeWidget(field,request)
-    >>> dt = datetime(2006,5,1,12,tzinfo=pytz.utc)
 
     >>> widget._toFormValue(None)
     u''
 
 Now let us convert a real datetime.
 
+    >>> dt = datetime(2006,5,1,12,tzinfo=pytz.utc)
     >>> formValue = widget._toFormValue(dt)
     >>> formValue
     '2006-05-01 14:00:00'
@@ -75,6 +75,19 @@
     >>> parsedValue
     datetime.datetime(2006, 5, 1, 12, 0, tzinfo=<UTC>)
 
+
+The datetime might also be an naive one (without time zone) but it
+gets saved with UTC timezone information.
+
+    >>> naive_dt = datetime(2006,5,1,12)
+    >>> formValue = widget._toFormValue(naive_dt)
+    >>> formValue
+    '2006-05-01 12:00:00'
+    >>> parsedValue = widget._toFieldValue(formValue)
+    >>> parsedValue
+    datetime.datetime(2006, 5, 1, 10, 0, tzinfo=<UTC>)
+
+
 While the widget tries to parse dates in the form '%Y-%m-%d %H:%M:%S'
 first, it will fall through to the locale-specific parsing of the core
 datetimewidget.

Deleted: zc.datetimewidget/trunk/src/zc/datetimewidget/zc.datetimewidget-configure.zcml
===================================================================
--- zc.datetimewidget/trunk/src/zc/datetimewidget/zc.datetimewidget-configure.zcml	2009-08-24 08:05:17 UTC (rev 103123)
+++ zc.datetimewidget/trunk/src/zc/datetimewidget/zc.datetimewidget-configure.zcml	2009-08-24 08:08:15 UTC (rev 103124)
@@ -1 +0,0 @@
-<include package="zc.datetimewidget"/>
\ No newline at end of file

Deleted: zc.datetimewidget/trunk/src/zc/datetimewidget/zc.datetimewidget-overrides.zcml
===================================================================
--- zc.datetimewidget/trunk/src/zc/datetimewidget/zc.datetimewidget-overrides.zcml	2009-08-24 08:05:17 UTC (rev 103123)
+++ zc.datetimewidget/trunk/src/zc/datetimewidget/zc.datetimewidget-overrides.zcml	2009-08-24 08:08:15 UTC (rev 103124)
@@ -1 +0,0 @@
-<include package="zc.datetimewidget" file="overrides.zcml"/>
\ No newline at end of file



More information about the Checkins mailing list