#!/usr/home/sweetapp/bin/python
import cgitb; cgitb.enable()
from DocXMLRPCServer import *
from SimpleXMLRPCServer import list_public_methods

def get_source_code():
    
"""get_source_code() => source code for this server"""

    
import sys
    
return open(sys.argv[0], 'r').read()

class ExposePython:
    
def __init__(self):
        
import string
        
self.string = string
        
import math
        
self.math = math

    
def _listMethods(self):
        
return list_public_methods(self) + \
               
['string.' + method for method in 
               
list_public_methods(self.string)] + \
               
['math.' + method for method in 
               
list_public_methods(self.math)]

server = DocCGIXMLRPCRequestHandler()
server.register_introspection_functions()
server.register_multicall_functions()
server.register_instance(ExposePython())
server.register_function(get_source_code)
server.set_server_title("rpc2")
server.set_server_name("Python Module XML-RPC Server")
server.set_server_documentation("""This XML-RPC Server exposes the functions in various Python (http://www.python.org/) modules.\nYou use it my calling methods such as math.cos(2.2).""")
server.handle_request()

Download
The source was styled using SilverCity