-sharp!/usr/bin/python
import sys,os,time,subprocess,thread,json
import traceback
import sys
from xmlrpclib import ServerProxy
def xmlrpc_call(func):
def _deco(*args, **kwargs):
self = args[0]
server_url = "http://%s:%s" % (self.host, self.port)
s = ServerProxy(server_url)
ret = None
try:
ret = getattr(s, func.__name__)(*args, **kwargs)
except Exception,e:
raise
return ret
return _deco
class Command(object):
def __init__(self, host, port=10000):
self.host = host
self.port = port
@xmlrpc_call()
def create(self, data):
pass
if __name__ == "__main__":
cmd = Command("127.0.0.1", 10000)
cmd.create({})
this error is always reported during execution:
Traceback (most recent call last):
File ". / test.py", line 27, in < module >
class Command(object):
File ". / test.py", line 32, inCommand
@xmlrpc_call()
TypeError: xmlrpc_call () takes exactly 1 argument (0 given)