[Zope3-Users] Re: URGENT RFC: Is anyone using response.write in Zope 3?

Jim Fulton jim at zope.com
Fri Dec 30 11:40:54 EST 2005


Philipp von Weitershausen wrote:
> Jim Fulton wrote:
> 
>>When we refactored the Zope 3 pubisher to work more closely with WSGI,
>>we decided to remove the response.write method.  We should have written
>>a proposal for this, but we failed to do so.  Over the last few weeks
>>there has been much discussion of this in which I asserted many times
>>that I didn't think any applications outside of Zope 3 itself used this
>>method.  No one has disagreed with me.  I want to double check this.
>>Does anyone have any Zope 3 applications that are using response.write?
>>
>>Assuming that the answer is "no" (or that no one answers today), I'm
>>going to
>>more clearly document how to return long output and I'm going to add a
>>method that generates a hopefully helpful error.
>>
>>Note that we may add this method (or something like it) back in the future
>>to support chunked streaming output,
> 
> 
> Alas, I just realized from Adam Summer's posting to zope3-users two days
> ago
> (http://mail.zope.org/pipermail/zope3-users/2005-December/001746.html)
> that my book is using response.write(). I had totally forgotten about
> it, though it isn't much of a problem. The book is about Zope X3 3.0 and
> can't make guarantees about future versions. Just to be safe I've added
> an entry to my errata page:
> 
>   page 204, Example 12.24, line 17: Using the ``write()`` method of
>   HTTP-based responses does not provide a performance advantage in
>   Zope X3 3.0 and 3.1 and is not supported anymore in Zope 3.2 and
>   higher.  To effectively return large data without holding it in
>   memory, it is now recommended to create a temporary file and return
>   that::
> 
>     import tempfile
>     f = tempfile.TemporaryFile()
>     f.write(pdf.data)
>     return f
> 
>   This will only work with Zope 3.2 and higher.

Yeah, this is definately a problem.  I don't want to make it
hard for people who bought the book.  I'd also rather not delay the
release any more.  Hopefully, the new error message in 3.2 will
make this clearer.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-users mailing list