Skip to content

Commit 115b44e

Browse files
committed
Make call_with_args() work with wrapped funcs
1 parent c4e356d commit 115b44e

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

cloudbot/util/func_utils.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
class ParameterError(Exception):
55
def __init__(self, name, valid_args):
66
super().__init__(
7-
"'{}' is not a valid parameter, valid parameters are: {}".format(
7+
"{!r} is not a valid parameter, valid parameters are: {}".format(
88
name, list(valid_args)
99
)
1010
)
@@ -13,9 +13,11 @@ def __init__(self, name, valid_args):
1313

1414

1515
def call_with_args(func, arg_data):
16-
sig = inspect.signature(func)
16+
sig = inspect.signature(func, follow_wrapped=False)
1717
try:
18-
args = [arg_data[key] for key in sig.parameters.keys() if not key.startswith('_')]
18+
args = [
19+
arg_data[key] for key in sig.parameters.keys() if not key.startswith("_")
20+
]
1921
except KeyError as e:
2022
raise ParameterError(e.args[0], arg_data.keys()) from e
2123

0 commit comments

Comments
 (0)