Log message for revision 80942: - Collector #151020: HTTP_CHAR_SET headers containing 'x-user-defined' caused a LookupError exception. Unknown encodings are from now on silently discarded.
Changed: U Zope/branches/2.10/doc/CHANGES.txt U Zope/branches/2.10/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py U Zope/branches/2.10/lib/python/Products/PageTemplates/unicodeconflictresolver.py -=- Modified: Zope/branches/2.10/doc/CHANGES.txt =================================================================== --- Zope/branches/2.10/doc/CHANGES.txt 2007-10-20 10:31:27 UTC (rev 80941) +++ Zope/branches/2.10/doc/CHANGES.txt 2007-10-20 11:33:36 UTC (rev 80942) @@ -29,6 +29,10 @@ - Collector #2339: ZPT: fixed unicode issue when using the 'structure' directive + - Collector #151020: HTTP_CHAR_SET headers containing 'x-user-defined' + caused a LookupError exception. Unknown encodings are from now on + silently discarded. + Zope 2.10.4 (2007/06/23) Other changes Modified: Zope/branches/2.10/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py =================================================================== --- Zope/branches/2.10/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py 2007-10-20 10:31:27 UTC (rev 80941) +++ Zope/branches/2.10/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py 2007-10-20 11:33:36 UTC (rev 80942) @@ -131,6 +131,15 @@ result = zpt.pt_render() self.assertEqual(result.startswith(unicode('<div>üöä</div>', 'iso-8859-15')), True) + def testBug151020(self): + manage_addPageTemplate(self.app, 'test', + text='<div tal:content="python: request.get(\'data\')" />', + encoding='ascii') + zpt = self.app['test'] + self.app.REQUEST.set('HTTP_ACCEPT_CHARSET', 'x-user-defined, iso-8859-15') + self.app.REQUEST.set('data', unicode('üöä', 'iso-8859-15').encode('utf-8')) + result = zpt.pt_render() + self.assertEqual(result.startswith(unicode('<div>üöä</div>', 'iso-8859-15')), False) class ZopePageTemplateFileTests(ZopeTestCase): Modified: Zope/branches/2.10/lib/python/Products/PageTemplates/unicodeconflictresolver.py =================================================================== --- Zope/branches/2.10/lib/python/Products/PageTemplates/unicodeconflictresolver.py 2007-10-20 10:31:27 UTC (rev 80941) +++ Zope/branches/2.10/lib/python/Products/PageTemplates/unicodeconflictresolver.py 2007-10-20 11:33:36 UTC (rev 80942) @@ -84,7 +84,7 @@ try: return unicode(text, enc) - except UnicodeDecodeError: + except (LookupError, UnicodeDecodeError): pass return text _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins