Ich habe folgendes Problem:
Code: Alles auswählen
from collections import deque
class Decorator :
def __init__(self, func ):
self._func = func
self.queue = deque()
def __call__( self, *args ) :
self.queue.append(args)
def process(self) :
args = self.queue.popleft()
print args
self._func( *args )
class Clss :
@Decorator
def do_stuff(self, x ) :
# do stuff with x
pass
clss = Clss()
clss.do_stuff(2) # -> TypeError: do_stuff() takes exactly 2 arguments (1 given)
clss.do_stuff.process()
Dieses Problem tritt nicht auf wenn man Funktionen als Decorator benutzt.
Hat jemand eine Idee wie man das trotzdem hinbekommt?