mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-21 05:53:12 +00:00
Use an inner JSONRequest class with renderJSON
Once nevow is removed from web/common.py, we can simplify renderJSON(), like so: def renderJSON(): req = Request() req.args = {"t": ["json"]} req.fields = {} return resource.render(req) But for now we have to live with an inner class that implements the nevow.inevow.IRequest interface.
This commit is contained in:
parent
201c08dbe5
commit
b3feaae644
@ -11,7 +11,8 @@ from twisted.web.template import flattenString
|
||||
# web/common.py, we can use `twisted.web.iweb.IRequest` here.
|
||||
from nevow.inevow import IRequest
|
||||
|
||||
from twisted.web.test.requesthelper import DummyRequest
|
||||
from twisted.web.server import Request
|
||||
from twisted.web.test.requesthelper import DummyChannel
|
||||
from zope.interface import implementer
|
||||
|
||||
from foolscap.api import fireEventually
|
||||
@ -2989,24 +2990,20 @@ def renderDeferred(ss):
|
||||
elem = StorageStatusElement(ss._storage, ss._nickname)
|
||||
return flattenString(None, elem)
|
||||
|
||||
@implementer(IRequest)
|
||||
class JSONRequest(DummyRequest):
|
||||
"""
|
||||
A Request with t=json argument added to it.
|
||||
|
||||
This is useful to invoke a Resouce.render_JSON() method.
|
||||
"""
|
||||
def __init__(self, **kwargs):
|
||||
DummyRequest.__init__(self, b"/", **kwargs)
|
||||
self.args = {"t": ["json"]}
|
||||
self.fields = {}
|
||||
|
||||
def renderJSON(resource):
|
||||
"""Exercise resouce.render_JSON()
|
||||
"""Render a JSON from the given resource."""
|
||||
|
||||
@implementer(IRequest)
|
||||
class JSONRequest(Request):
|
||||
"""
|
||||
A Request with t=json argument added to it. This is useful to
|
||||
invoke a Resouce.render_JSON() method.
|
||||
"""
|
||||
def __init__(self):
|
||||
Request.__init__(self, DummyChannel())
|
||||
self.args = {"t": ["json"]}
|
||||
self.fields = {}
|
||||
|
||||
:param _MultiFormatResource resouce: A `twisted.web.resouce.Resource`
|
||||
that contains a render_JSON() method.
|
||||
"""
|
||||
return resource.render(JSONRequest())
|
||||
|
||||
class MyBucketCountingCrawler(BucketCountingCrawler):
|
||||
|
Loading…
Reference in New Issue
Block a user