Changeset 96fbff6 in trunk


Ignore:
Timestamp:
2020-07-09T20:05:30Z (5 years ago)
Author:
Sajith Sasidharan <sajith@…>
Branches:
master
Children:
d24babe
Parents:
92e83f26
git-author:
Sajith Sasidharan <sajith@…> (2020-04-21 14:29:18)
git-committer:
Sajith Sasidharan <sajith@…> (2020-07-09 20:05:30)
Message:

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/allmydata/test/test_storage.py

    r92e83f26 r96fbff6  
    2020from nevow.inevow import IRequest
    2121
    22 from twisted.web.test.requesthelper import DummyRequest
     22from twisted.web.server import Request
     23from twisted.web.test.requesthelper import DummyChannel
    2324from zope.interface import implementer
    2425
     
    30033004    return flattenString(None, elem)
    30043005
    3005 @implementer(IRequest)
    3006 class JSONRequest(DummyRequest):
    3007     """
    3008     A Request with t=json argument added to it.
    3009 
    3010     This is useful to invoke a Resouce.render_JSON() method.
    3011     """
    3012     def __init__(self, **kwargs):
    3013         DummyRequest.__init__(self, b"/", **kwargs)
    3014         self.args = {"t": ["json"]}
    3015         self.fields = {}
    3016 
    30173006def renderJSON(resource):
    3018     """Exercise resouce.render_JSON()
    3019 
    3020     :param _MultiFormatResource resouce: A `twisted.web.resouce.Resource`
    3021         that contains a render_JSON() method.
    3022     """
     3007    """Render a JSON from the given resource."""
     3008
     3009    @implementer(IRequest)
     3010    class JSONRequest(Request):
     3011        """
     3012        A Request with t=json argument added to it.  This is useful to
     3013        invoke a Resouce.render_JSON() method.
     3014        """
     3015        def __init__(self):
     3016            Request.__init__(self, DummyChannel())
     3017            self.args = {"t": ["json"]}
     3018            self.fields = {}
     3019
    30233020    return resource.render(JSONRequest())
    30243021
Note: See TracChangeset for help on using the changeset viewer.