Python class member function plus a decorator always fails

-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)

Aug.31,2021

  1. Parameter problem
  2. problems with decorator invocation
[DEBUG]: enter create()
http://1:1
Menu