Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
SimpleXMLRPCServer Namespace Reference

Data Structures

class  SimpleXMLRPCRequestHandler
 
class  SimpleXMLRPCServer
 

Variables

tuple server = SimpleXMLRPCServer(("localhost", 8000))
 

Detailed Description

Simple XML-RPC Server.

This module can be used to create simple XML-RPC servers
by creating a server and either installing functions, a
class instance, or by extending the SimpleXMLRPCRequestHandler
class.

A list of possible usage patterns follows:

1. Install functions:

server = SimpleXMLRPCServer(("localhost", 8000))
server.register_function(pow)
server.register_function(lambda x,y: x+y, 'add')
server.serve_forever()

2. Install an instance:

class MyFuncs:
    def __init__(self):
# make all of the string functions available through
# string.func_name
import string
self.string = string
    def pow(self, x, y): return pow(x, y)
    def add(self, x, y) : return x + y
server = SimpleXMLRPCServer(("localhost", 8000))
server.register_instance(MyFuncs())
server.serve_forever()

3. Install an instance with custom dispatch method:

class Math:
    def _dispatch(self, method, params):
if method == 'pow':
    return apply(pow, params)
elif method == 'add':
    return params[0] + params[1]
else:
    raise 'bad method'
server = SimpleXMLRPCServer(("localhost", 8000))
server.register_instance(Math())
server.serve_forever()

4. Subclass SimpleXMLRPCRequestHandler:

class MathHandler(SimpleXMLRPCRequestHandler):
    def _dispatch(self, method, params):
try:
    # We are forcing the 'export_' prefix on methods that are
    # callable through XML-RPC to prevent potential security
    # problems
    func = getattr(self, 'export_' + method)
except AttributeError:
    raise Exception('method "%s" is not supported' % method)
else:
    return apply(func, params)

    def log_message(self, format, *args):
pass # maybe do something fancy like write the messages to a file

    def export_add(self, x, y):
return x + y

server = SimpleXMLRPCServer(("localhost", 8000), MathHandler)
server.serve_forever()

Variable Documentation

tuple server = SimpleXMLRPCServer(("localhost", 8000))

Definition at line 247 of file SimpleXMLRPCServer.py.