Skip to content

Commit

Permalink
Register all possible file types under python3
Browse files Browse the repository at this point in the history
  • Loading branch information
kedder committed Feb 28, 2013
1 parent 5d10f9b commit 566876c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
3 changes: 3 additions & 0 deletions src/zope/app/wsgi/configure.zcml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<configure xmlns="http://namespaces.zope.org/zope">
<adapter factory=".fileresult.FileResult" />
<adapter factory=".fileresult.TemporaryFileResult" />
<adapter factory=".fileresult.BufferedReaderFileResult" />
<adapter factory=".fileresult.TextIOWrapperFileResult" />
<adapter factory=".fileresult.BufferedRandomFileResult" />
</configure>

17 changes: 16 additions & 1 deletion src/zope/app/wsgi/fileresult.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
$Id$
"""

import io
import tempfile
from zope import component, interface
import zope.publisher.interfaces.http
Expand Down Expand Up @@ -77,3 +77,18 @@ class _tfile:
@interface.implementer(zope.publisher.http.IResult)
def TemporaryFileResult(f, request):
return FileResult(f, request)

@component.adapter(io.BufferedReader, zope.publisher.interfaces.http.IHTTPRequest)
@interface.implementer(zope.publisher.http.IResult)
def BufferedReaderFileResult(f, request):
return FileResult(f, request)

@component.adapter(io.TextIOWrapper, zope.publisher.interfaces.http.IHTTPRequest)
@interface.implementer(zope.publisher.http.IResult)
def TextIOWrapperFileResult(f, request):
return FileResult(f, request)

@component.adapter(io.BufferedRandom, zope.publisher.interfaces.http.IHTTPRequest)
@interface.implementer(zope.publisher.http.IResult)
def BufferedRandomFileResult(f, request):
return FileResult(f, request)

0 comments on commit 566876c

Please sign in to comment.