[Zope3-Users] substitute for deprecated response.write()?

Adam Summers adam at 4js.com.au
Wed Dec 28 11:45:21 EST 2005


Hi,

    I am red faced (and blurry-eyed, its 1am here)- I found the answer 
in the archives, in September:

On Fri, Sep 16, 2005 at 11:50:19AM -0400, Stephan Richter wrote:

>> Just return the data; it is handled properly now.
>  
>


Adam Summers wrote:

> Hi,
>
> I was having a look at Phillipp's fabulous book (thanks!), and came 
> across the code for publishing a PDF document to the browser (this is 
> slightly modified from the book):
>
> from zope.app import zapi
> from zope.app.publisher.browser import BrowserView
>
> from ccard.pdf.interfaces import IPDFPresentation
>
> class PDFView(BrowserView):
>
>  def __call__(self):
>    pdf = zapi.getViewProviding(self.context, IPDFPresentation, 
> self.request)
>    filename = zapi.name(self.context) + '.pdf'
>    response = self.request.response
>    response.setHeader('Context-Disposition', 'attachment; filename=%s' 
> % filena
> me)
>    response.setHeader('Content=Type', 'application/pdf')
>    response.setHeader('Content-Length', len(pdf.data))
>    response.write(pdf.data)
>
> However, these days I get the error:
>
> 2005-12-28T15:29:56 ERROR SiteError 
> http://localhost:8080/++skin++Boston/t2/Cred
> itCard/pdf
> Traceback (most recent call last):
>  File "/home/Adam/z3/Zope3/src/zope/publisher/publish.py", line 138, 
> in publish
>    result = publication.callObject(request, object)
>  File 
> "/home/Adam/z3/Zope3/src/zope/app/publication/zopepublication.py", line 1
> 61, in callObject
>    return mapply(ob, request.getPositionalArguments(), request)
>  File "/home/Adam/z3/Zope3/src/zope/publisher/publish.py", line 113, 
> in mapply
>    return debug_call(object, args)
>  File "/home/Adam/z3/Zope3/src/zope/publisher/publish.py", line 119, 
> in debug_c
> all
>    return object(*args)
>  File "/home/Adam/z3/products/ccard/pdf/browser.py", line 15, in __call__
>    response.write(pdf.data)
> AttributeError: 'BrowserResponse' object has no attribute 'write'
>
> What is the correct technique, now that BrowserResponse does not have 
> write()
>
> TIA, and Happy New Year
> Adam
>
>
>
> _______________________________________________
> Zope3-users mailing list
> Zope3-users at zope.org
> http://mail.zope.org/mailman/listinfo/zope3-users




More information about the Zope3-users mailing list