Use `partialmethod` instead:
```
def decorator_partial(f):
return partial(f)
def decorator_lambda(f):
return lambda *args, **kwargs: f(*args, **kwargs)
class C:
@decorator_partial
def f(self, arg): pass
decorator_lambda
def g(self, arg): pass
C().f(1)
TypeError: f() missing 1 required positional argument: 'arg'
C().g(1)
None
```
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
import sys
import time
from collections import namedtuple
-from functools import wraps, partial
+from functools import wraps, partialmethod
import uuid
import string
import random
return HandleCommandResult(-errno.ENOENT, stderr=msg)
# misuse partial to copy `wrapper`
- wrapper_copy = partial(wrapper)
+ wrapper_copy = lambda *l_args, **l_kwargs: wrapper(*l_args, **l_kwargs)
wrapper_copy._prefix = prefix # type: ignore
wrapper_copy._cli_command = CLICommand(prefix, cmd_args, desc, perm) # type: ignore
wrapper_copy._cli_command.func = wrapper_copy # type: ignore