[Zope-Checkins]
SVN: Zope/branches/2.10/lib/python/Products/PageTemplates/
merge from HEAD
Andreas Jung
andreas at andreas-jung.com
Thu Jan 11 13:25:49 EST 2007
Log message for revision 71928:
merge from HEAD
Changed:
U Zope/branches/2.10/lib/python/Products/PageTemplates/ZopePageTemplate.py
U Zope/branches/2.10/lib/python/Products/PageTemplates/utils.py
-=-
Modified: Zope/branches/2.10/lib/python/Products/PageTemplates/ZopePageTemplate.py
===================================================================
--- Zope/branches/2.10/lib/python/Products/PageTemplates/ZopePageTemplate.py 2007-01-11 17:13:14 UTC (rev 71927)
+++ Zope/branches/2.10/lib/python/Products/PageTemplates/ZopePageTemplate.py 2007-01-11 18:25:48 UTC (rev 71928)
@@ -126,7 +126,7 @@
encoding = None
output_encoding = None
- if content_type == 'text/xml':
+ if content_type in ('text/xml',):
if is_unicode:
encoding = None
@@ -136,7 +136,7 @@
output_encoding = 'utf-8'
- elif content_type == 'text/html':
+ elif content_type in ('text/html',) :
charset = charsetFromMetaEquiv(text)
@@ -156,7 +156,10 @@
output_encoding = 'iso-8859-15'
else:
- raise ValueError('Unsupported content-type %s' % content_type)
+ utext, encoding = convertToUnicode(text,
+ content_type,
+ preferred_encodings)
+ output_encoding = encoding
# for content updated through WebDAV, FTP
if not keep_output_encoding:
@@ -228,8 +231,8 @@
text = file.read()
content_type = guess_type(filename, text)
- if not content_type in ('text/html', 'text/xml'):
- raise ValueError('Unsupported mimetype: %s' % content_type)
+# if not content_type in ('text/html', 'text/xml'):
+# raise ValueError('Unsupported mimetype: %s' % content_type)
self.pt_edit(text, content_type)
return self.pt_editForm(manage_tabs_message='Saved changes')
@@ -409,7 +412,8 @@
def __setstate__(self, state):
# Perform on-the-fly migration to unicode.
- # Perhaps it might be work with the 'generation' module here?
+ # Perhaps it might be better to work with the 'generation' module
+ # here?
if not isinstance(state['_text'], unicode):
text, encoding = convertToUnicode(state['_text'],
state.get('content_type', 'text/html'),
Modified: Zope/branches/2.10/lib/python/Products/PageTemplates/utils.py
===================================================================
--- Zope/branches/2.10/lib/python/Products/PageTemplates/utils.py 2007-01-11 17:13:14 UTC (rev 71927)
+++ Zope/branches/2.10/lib/python/Products/PageTemplates/utils.py 2007-01-11 18:25:48 UTC (rev 71928)
@@ -70,20 +70,19 @@
elif content_type.startswith('text/html'):
encoding = charsetFromMetaEquiv(source)
+ if encoding:
+ return unicode(source, encoding), encoding
- # Try to detect the encoding by converting it unicode without raising
- # exceptions. There are some smarter Python-based sniffer methods
- # available however we have to check their licenses first before
- # including them into the Zope 2 core
+ # Try to detect the encoding by converting it unicode without raising
+ # exceptions. There are some smarter Python-based sniffer methods
+ # available however we have to check their licenses first before
+ # including them into the Zope 2 core
- if not encoding:
- for enc in preferred_encodings:
- try:
- return unicode(source, enc), enc
- except UnicodeDecodeError:
- continue
+ for enc in preferred_encodings:
+ try:
+ return unicode(source, enc), enc
+ except UnicodeDecodeError:
+ continue
- raise TypeError('Could not auto-detect encoding')
+ return unicode(source), None
- else:
- raise ValueError('Unsupported content-type: %s' % content_type)
More information about the Zope-Checkins
mailing list