Log message for revision 68876:
OFS Image: Image and File now both support simple unicode objects
for data (they function the same as strings for data).
Changed:
U Zope/branches/2.10/doc/CHANGES.txt
U Zope/branches/2.10/lib/python/OFS/Image.py
U Zope/branches/2.10/lib/python/OFS/tests/testFileAndImage.py
-=-
Modified: Zope/branches/2.10/doc/CHANGES.txt
===================================================================
--- Zope/branches/2.10/doc/CHANGES.txt 2006-06-28 11:20:16 UTC (rev
68875)
+++ Zope/branches/2.10/doc/CHANGES.txt 2006-06-28 11:24:05 UTC (rev
68876)
@@ -18,6 +18,9 @@
Bugs Fixed
+ - OFS Image: Image and File now both support simple unicode
objects
+ for data (they function the same as strings for data).
+
- OFS Application: Updated deprecation warnings.
Support for '__ac_permissions__' and 'meta_types' will be
removed in
Zope 2.11, 'methods' support might remain longer.
Modified: Zope/branches/2.10/lib/python/OFS/Image.py
===================================================================
--- Zope/branches/2.10/lib/python/OFS/Image.py 2006-06-28 11:20:16
UTC (rev 68875)
+++ Zope/branches/2.10/lib/python/OFS/Image.py 2006-06-28 11:24:05
UTC (rev 68876)
@@ -43,7 +43,6 @@
from cgi import escape
import transaction
-StringType=type('')
manage_addFileForm=DTMLFile('dtml/imageAdd', globals
(),Kind='File',kind='file')
def manage_addFile(self,id,file='',title='',precondition='',
content_type='',
REQUEST=None):
@@ -231,7 +230,7 @@
RESPONSE.setStatus(206) # Partial content
data = self.data
- if type(data) is StringType:
+ if isinstance(data, basestring):
RESPONSE.write(data[start:end])
return True
@@ -302,7 +301,7 @@
'Content-Range: bytes %d-%d/%d\r\n\r
\n' % (
start, end - 1, self.size))
- if type(data) is StringType:
+ if isinstance(data, basestring):
RESPONSE.write(data[start:end])
else:
@@ -401,7 +400,7 @@
self.ZCacheable_set(None)
data=self.data
- if type(data) is type(''):
+ if isinstance(data, basestring):
RESPONSE.setBase(None)
return data
@@ -481,7 +480,7 @@
if headers and headers.has_key('content-type'):
content_type=headers['content-type']
else:
- if type(body) is not type(''): body=body.data
+ if not isinstance(body, basestring): body=body.data
content_type, enc=guess_content_type(
getattr(file, 'filename',id), body, content_type)
return content_type
@@ -490,7 +489,7 @@
n=1 << 16
- if type(file) is StringType:
+ if isinstance(file, basestring):
size=len(file)
if size < n: return file, size
# Big string: cut it into smaller chunks
@@ -617,7 +616,7 @@
return result
data = self.data
- if type(data) is type(''):
+ if isinstance(data, basestring):
RESPONSE.setBase(None)
return data
Modified: Zope/branches/2.10/lib/python/OFS/tests/testFileAndImage.py
===================================================================
--- Zope/branches/2.10/lib/python/OFS/tests/testFileAndImage.py
2006-06-28 11:20:16 UTC (rev 68875)
+++ Zope/branches/2.10/lib/python/OFS/tests/testFileAndImage.py
2006-06-28 11:24:05 UTC (rev 68876)
@@ -252,7 +252,15 @@
verifyClass(HTTPRangeInterface, File)
verifyClass(WriteLockInterface, File)
-
+ def testUnicodeWithIndexHtml(self):
+ # Introduced to help test the fact that Image.py has been
+ # changed to be lenient towards any basestring type, not
just str
+
+ val = u'some unicode string here'
+ self.file.manage_edit('foobar', 'text/plain', filedata=val)
+ s = self.file.index_html(self.app.REQUEST,
self.app.REQUEST.RESPONSE)
+ self.assertEquals(s, val)
+
class ImageTests(FileTests):
data = open(filedata, 'rb').read()
content_type = 'image/gif'
@@ -285,7 +293,6 @@
verifyClass(WriteLockInterface, Image)
-
def test_suite():
return unittest.TestSuite((
unittest.makeSuite(FileTests),
_______________________________________________
Checkins mailing list
[EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/checkins