Skip to main content
https://travis-ci.org/mosquito/tornado-xmlrpc.svg Latest Version https://img.shields.io/pypi/wheel/tornado-xmlrpc.svg https://img.shields.io/pypi/pyversions/tornado-xmlrpc.svg https://img.shields.io/pypi/l/tornado-xmlrpc.svg

XML-RPC server and client implementation based on tornado. Using lxml and AsyncHttpClient.

Example:

from tornado_xmlrpc import handler, client
from tornado.testing import *


class XMLRPCTestHandler(handler.XMLRPCHandler):
    def rpc_test(self):
        return None

    def rpc_args(self, *args):
        return len(args)

    def rpc_kwargs(self, **kwargs):
        return len(kwargs)

    def rpc_args_kwargs(self, *args, **kwargs):
        return len(args) + len(kwargs)

    def rpc_exception(self):
        raise Exception("YEEEEEE!!!")


class TestSimple(tornado.testing.AsyncHTTPTestCase):
    def setUp(self):
        super(TestSimple, self).setUp()
        self.server = client.ServerProxy("http://localhost:%d" % self.get_http_port())

    def tearDown(self):
        super(TestSimple, self).tearDown()
        self.server = None

    def get_app(self):
        return Application(handlers=[
            ('/', XMLRPCTestHandler),
        ])

    @gen_test
    def test_00_test(self):
        result = yield self.server.test()
        self.assertIsNone(result)

    @gen_test
    def test_10_args(self):
        result = yield self.server.args(1, 2, 3, 4, 5)
        self.assertEqual(result, 5)

    @gen_test
    def test_20_kwargs(self):
        result = yield self.server.kwargs(foo=1, bar=2)
        self.assertEqual(result, 2)

    @gen_test
    def test_20_kwargs(self):
        result = yield self.server.args_kwargs(1, 2, 3, 4, 5, foo=1, bar=2)
        self.assertEqual(result, 7)

    @gen_test
    def test_30_exception(self):
        try:
            yield self.server.exception()
        except client.RemoteServerException as e:
            self.assertIn("YEEEEEE!!!", e.message)
        else:
            raise RuntimeError("No exception")

Metadata

Release files for tornado-xmlrpc 1.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tornado-xmlrpc 1.8.2
File Size Uploaded
tornado-xmlrpc-1.8.2.tar.gz 6.9 kB Details

Release files / tornado-xmlrpc-1.8.2.tar.gz

Download URL tornado-xmlrpc-1.8.2.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7db71f4a096aa0990c4872772c68807d5ec445927f86250b52f96ac1f366b6c6
BLAKE2b-256 checksum
How to use checksums
51fde40d50bb676be33e139007f7d74f2bb48f7d2e0f16913b1aa0d7d11fa3df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.8.2 This release

1 release file

1.7.1

1 release file

1.7.0

1 release file

1.6

1 release file

1.5

1 release file

1.4

1 release file

1.3

1 release file

1.2

2 release files

1.1

2 release files

1.0

6 release files

0.6

3 release files

0.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page