from WebKit.PickleRPCServlet import PickleRPCServlet
class PickleRPCExample(PickleRPCServlet):
"""Example XML-RPC servlet.
To try it out, use something like the following:
>>> from MiscUtils.PickleRPC import Server
>>> server = Server('http://localhost:8080/Examples/PickleRPCExample')
>>> server.multiply(10,20)
200
>>> server.add(10,20)
30
You'll get an exception if you try to call divide, because that
method is not listed in exposedMethods.
"""
def exposedMethods(self):
return ['multiply', 'add']
def multiply(self, x, y):
return x * y
def add(self, x, y):
return x + y
def divide(self, *args):
return reduce(operator.div, args)
def allowedGlobals(self):
"""
This allows you to pass in mx.DateTime objects. See SafeUnpickler in
MiscUtils.PickleRPC for more details. You are only allowed
to unpickle classes that are specifically listed here.
"""
return [('mx.DateTime', '_DT')]
|