xmlrpc server simplify.
Project description
xmlrpcutils
xmlrpc server simplify.
Install
pip install xmlrpcutils
TestServer
from xmlrpcutils.server import SimpleXmlRpcServer
from xmlrpcutils.service import ServiceBase
class SayHelloService(ServiceBase):
def hello(self, name):
return f"Hello {name}, how are you!"
class TestServer(SimpleXmlRpcServer):
def register_services(self):
super().register_services()
SayHelloService(namespace="debug").register_to(self.server)
app = TestServer()
app_ctrl = app.get_controller()
if __name__ == "__main__":
app_ctrl()
Start test server
python test_server.py start
Remote call with TestServer
In [9]: from xmlrpc.client import ServerProxy
In [10]: server = ServerProxy('http://127.0.0.1:8381')
In [11]: server.system.listMethods()
Out[11]:
['debug.counter',
'debug.echo',
'debug.false',
'debug.hello',
'debug.hostname',
'debug.null',
'debug.ping',
'debug.sleep',
'debug.sum',
'debug.timestamp',
'debug.true',
'debug.uname',
'debug.urandom',
'debug.uuid4',
'system.listMethods',
'system.methodHelp',
'system.methodSignature',
'system.multicall']
In [12]: server.debug.hello('zencore')
Out[12]: 'Hello zencore, how are you!'
Releases
v0.1.1
- First release.
v0.1.2
- Fix license_files missing problem.
v0.1.3
- Fix DebugService init method problem, add super().init() calling.
v0.2.0
- Don't force to use gevent.
- Allow non-namespace services.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xmlrpcutils-0.2.0.tar.gz
(5.0 kB
view hashes)
Built Distribution
Close
Hashes for xmlrpcutils-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e76c4a5c48e764cdfdf3a21a3fefaae6ca0bf25cd80787cb0cf86e22dbf3af4e |
|
MD5 | 306e9cc8e7bf413211c30fa711447171 |
|
BLAKE2b-256 | dfd0a0d26dbcbedfadca61bef636d9fed1236b5f2c2f2c6b62e217e128c3f06b |