from DocXMLRPCServer import DocXMLRPCServer, DocXMLRPCRequestHandlerfrom SocketServer import ThreadingMixInimport timeclass Stats: def getstats(self): return self.callstats def getruntime(self): return time.time() - self.starttime def failure(self): raise RuntimeError, "This function always raises an error."class Math(Stats): def __init__(self): self.callstats = {'pow': 0, 'hex': 0} self.starttime = time.time() def pow(self, x, y): self.callstats['pow'] += 1 return pow(x, y) def hex(self, x): self.callstats['hex'] += 1 return "%x" % xclass ThreadingServer(ThreadingMixIn, DocXMLRPCServer): passserveraddr = ('', 8765)srvr = ThreadingServer(serveraddr, DocXMLRPCRequestHandler)srvr.set_server_title("Example Documentation")srvr.set_server_name("Your name")srvr.set_server_documentation("""Welcome to""")srvr.register_instance(Math())srvr.register_introspection_functions()srvr.serve_forever()
Name (required)
email (will not be published) (required)
Website