[kupu-checkins] r43577 - kupu/trunk/kupu/plone

deo at codespeak.net deo at codespeak.net
Wed May 23 17:24:22 CEST 2007


Author: deo
Date: Wed May 23 17:24:22 2007
New Revision: 43577

Modified:
   kupu/trunk/kupu/plone/plonedrawers.py
Log:
Fixed the UnicodeDecodeError which happens on kupu_migration.xml.pt when the field's label from any content-type contains non-ascii chars.

Modified: kupu/trunk/kupu/plone/plonedrawers.py
==============================================================================
--- kupu/trunk/kupu/plone/plonedrawers.py	(original)
+++ kupu/trunk/kupu/plone/plonedrawers.py	Wed May 23 17:24:22 2007
@@ -23,6 +23,7 @@
 from Products.PythonScripts.standard import html_quote, newline_to_br
 from Products.kupu.plone.librarytool import KupuError
 from Products.CMFCore.utils import getToolByName
+from Products.CMFPlone.utils import getSiteEncoding
 import html2captioned
 
 try:
@@ -763,9 +764,11 @@
     def getKupuFields(self, filter=1):
         """Returns a list of all kupu editable fields"""
         inuse = getToolByName(self, 'portal_catalog').uniqueValuesFor('portal_type')
+        site_encoding = getSiteEncoding(self)
         for t,f,pt in self._getKupuFields():
             if html2captioned.sanitize_portal_type(pt) in inuse or not filter:
-                yield { 'type': t, 'name': f.getName(), 'label': f.widget.Label(self), 'portal_type':pt }
+                yield dict(type=t, name=f.getName(), portal_type=pt,
+                           label=f.widget.Label(self).decode(site_encoding))
 
     def _getKupuFields(self):
         """Yield all fields which are editable using kupu"""


More information about the kupu-checkins mailing list