[Checkins] SVN: Sandbox/shane/republish/zope.app.publisher/src/zope/app/publisher/ The :date converter is now in zope.httpformdate. See PyPI and svn.zope.org/zope.httpformdate.
Shane Hathaway
shane at hathawaymix.org
Sat Feb 7 23:45:08 EST 2009
Log message for revision 96226:
The :date converter is now in zope.httpformdate. See PyPI and svn.zope.org/zope.httpformdate.
Changed:
D Sandbox/shane/republish/zope.app.publisher/src/zope/app/publisher/fieldconverters.py
D Sandbox/shane/republish/zope.app.publisher/src/zope/app/publisher/tests/test_fieldconverters.py
-=-
Deleted: Sandbox/shane/republish/zope.app.publisher/src/zope/app/publisher/fieldconverters.py
===================================================================
--- Sandbox/shane/republish/zope.app.publisher/src/zope/app/publisher/fieldconverters.py 2009-02-08 04:18:49 UTC (rev 96225)
+++ Sandbox/shane/republish/zope.app.publisher/src/zope/app/publisher/fieldconverters.py 2009-02-08 04:45:07 UTC (rev 96226)
@@ -1,61 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2003 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Zope-specific request field converters.
-
-$Id$
-"""
-from datetime import datetime
-
-from zope.publisher.browser import registerTypeConverter
-from zope.datetime import parse as parseDateTime
-
-def field2date_via_datetimeutils(v):
- """Converter for request fields marshalled as ':date'.
-
- o TODO: Uses the non-localized and non-tzinfo-aware 'parseDateTime'
- utility from zope.datetime; a better alternative
- would be more I18N / L10N aware, perhaps even adapting to
- the expressed preferences of the user.
- """
- if hasattr(v,'read'):
- v = v.read()
- else:
- v = str(v)
-
- # *Don't* force a timezone if not passed explicitly; leave it as
- # "naive" datetime.
- year, month, day, hour, minute, second, tzname = parseDateTime(v, local=0)
-
- # TODO: look up a real tzinfo object using 'tzname'
- #
- # Option 1: Use 'timezones' module as global registry::
- #
- # from zope.app.timezones import getTimezoneInfo
- # tzinfo = getTimezoneInfo(tzname)
- #
- # Option 2: Use a utility (or perhaps a view, for L10N).
- #
- # tz_lookup = getUtility(ITimezoneLookup)
- # tzinfo = tz_lookup(tzname)
- #
- return datetime(year, month, day, hour, minute, second,
- # tzinfo=tzinfo
- )
-
-ZOPE_CONVERTERS = [('date', field2date_via_datetimeutils)]
-
-def registerZopeConverters():
-
- for field_type, converter in ZOPE_CONVERTERS:
- registerTypeConverter(field_type, converter)
Deleted: Sandbox/shane/republish/zope.app.publisher/src/zope/app/publisher/tests/test_fieldconverters.py
===================================================================
--- Sandbox/shane/republish/zope.app.publisher/src/zope/app/publisher/tests/test_fieldconverters.py 2009-02-08 04:18:49 UTC (rev 96225)
+++ Sandbox/shane/republish/zope.app.publisher/src/zope/app/publisher/tests/test_fieldconverters.py 2009-02-08 04:45:07 UTC (rev 96226)
@@ -1,60 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Test of field converters.
-
-$Id$
-"""
-from unittest import TestCase, TestSuite, main, makeSuite
-from datetime import datetime
-
-class TestFieldConverters(TestCase):
-
- def test_field2date_dateonly(self):
-
- from zope.app.publisher.fieldconverters \
- import field2date_via_datetimeutils
-
- dt = field2date_via_datetimeutils('2003/05/04')
- self.failUnless(isinstance(dt, datetime))
- self.assertEqual(dt.year, 2003)
- self.assertEqual(dt.month, 5)
- self.assertEqual(dt.day, 4)
- self.assertEqual(dt.hour, 0)
- self.assertEqual(dt.minute, 0)
- self.assertEqual(dt.second, 0)
- self.assertEqual(dt.tzinfo, None)
-
- def test_field2date_timestamp(self):
-
- from zope.app.publisher.fieldconverters \
- import field2date_via_datetimeutils
-
- dt = field2date_via_datetimeutils('2003/05/04 19:26:54')
- self.failUnless(isinstance(dt, datetime))
- self.assertEqual(dt.year, 2003)
- self.assertEqual(dt.month, 5)
- self.assertEqual(dt.day, 4)
- self.assertEqual(dt.hour, 19)
- self.assertEqual(dt.minute, 26)
- self.assertEqual(dt.second, 54)
- self.assertEqual(dt.tzinfo, None)
-
-def test_suite():
- suite = TestSuite()
- suite.addTest(makeSuite(TestFieldConverters))
- return suite
-
-
-if __name__ == '__main__':
- main()
More information about the Checkins
mailing list