[Zope-Checkins] SVN: Zope/branches/2.12/src/OFS/tests/testRanges.py Backport r110704, suppressing deprecation for multifile.
Tres Seaver
tseaver at palladion.com
Sat Apr 10 08:24:05 EDT 2010
Log message for revision 110706:
Backport r110704, suppressing deprecation for multifile.
Changed:
U Zope/branches/2.12/src/OFS/tests/testRanges.py
-=-
Modified: Zope/branches/2.12/src/OFS/tests/testRanges.py
===================================================================
--- Zope/branches/2.12/src/OFS/tests/testRanges.py 2010-04-10 12:12:11 UTC (rev 110705)
+++ Zope/branches/2.12/src/OFS/tests/testRanges.py 2010-04-10 12:24:04 UTC (rev 110706)
@@ -178,9 +178,8 @@
def expectMultipleRanges(self, range, sets, draft=0):
import cStringIO
- from mimetools import Message
- from multifile import MultiFile
import re
+ import email
rangeParse = re.compile('bytes\s*(\d+)-(\d+)/(\d+)')
req = self.app.REQUEST
rsp = req.RESPONSE
@@ -211,20 +210,16 @@
# Decode the multipart message
bodyfile = cStringIO.StringIO('Content-Type: %s\n\n%s' % (
rsp.getHeader('content-type'), body))
- bodymessage = Message(bodyfile)
- partfiles = MultiFile(bodyfile)
- partfiles.push(bodymessage.getparam('boundary'))
+ partmessages = [part
+ for part in email.message_from_file(bodyfile).walk()]
- partmessages = []
- add = partmessages.append
- while partfiles.next():
- add(Message(cStringIO.StringIO(partfiles.read())))
-
# Check the different parts
returnedRanges = []
add = returnedRanges.append
for part in partmessages:
- range = part['content-range']
+ if part.get_content_maintype() == 'multipart':
+ continue
+ range = part.get('content-range')
start, end, size = rangeParse.search(range).groups()
start, end, size = int(start), int(end), int(size)
end = end + 1
@@ -233,13 +228,7 @@
'Part Content-Range header reported incorrect length. '
'Expected %d, got %d.' % (len(self.data), size))
- part.rewindbody()
- body = part.fp.read()
- # Whotcha! Bug in MultiFile; the CRLF that is part of the boundary
- # is returned as part of the body. Note that this bug is resolved
- # in Python 2.2.
- if body[-2:] == '\r\n':
- body = body[:-2]
+ body = part.get_payload()
self.failIf(len(body) != end - start,
'Part (%d, %d) is of wrong length, expected %d, got %d.' % (
More information about the Zope-Checkins
mailing list