Как расширить SimpleXMLRPCServer, чтобы дочерний класс регистрировал некоторые функции?

Я сейчас изучаю Python и пытаюсь сделать простой XML-RPC-сервер. Примеры в документации Python показывают это:

from SimpleXMLRPCServer import SimpleXMLRPCServer
from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler

# Restrict to a particular path.
class RequestHandler(SimpleXMLRPCRequestHandler):
    rpc_paths = ('/RPC2',)

# Create server
server = SimpleXMLRPCServer(("localhost", 8000),
                            requestHandler=RequestHandler)
server.register_introspection_functions()

# Register pow() function; this will use the value of
# pow.__name__ as the name, which is just 'pow'.
server.register_function(pow)


# Run the server's main loop
server.serve_forever()

Так что я хотел бы сделать, это расширить SimpleXMLRPCServer как MyXMLRPC это устанавливает некоторые из его методов в качестве методов сервера. Они должны быть объектными методами, а не только статическими / классовыми, поэтому они должны иметь возможность манипулировать MyXMLRPC данные экземпляра. Я думаю, что это будет в некоторой степени использовать эту функциональность:

# Register an instance; all the methods of the instance are
# published as XML-RPC methods (in this case, just 'div').
class MyFuncs:
    def div(self, x, y):
        return x // y
server.register_instance(MyFuncs())

Но, конечно, я просто хочу зарегистрировать некоторые методы, а также мне нужно сделать это в конструкторе MyXMLRPC, Как мне это сделать?

0 ответов

Другие вопросы по тегам