mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-18 05:12:45 +01:00
pyln: Check to see if we have annotations on funcs before accessing
We were indiscriminately accessing the `__annotations__` which could cause issues if the function had been wrapped by some functions such as `functools.partial`. This just checks that the access is safe before doing it. Suggested-by: jarret <@jarret> Signed-off-by: Christian Decker <@cdecker>
This commit is contained in:
parent
8c387932c0
commit
de619b1754
@ -317,9 +317,10 @@ class Plugin(object):
|
||||
@staticmethod
|
||||
def _coerce_arguments(func, ba):
|
||||
args = OrderedDict()
|
||||
annotations = func.__annotations__ if hasattr(func, "__annotations__") else {}
|
||||
for key, val in ba.arguments.items():
|
||||
annotation = func.__annotations__.get(key)
|
||||
if annotation == Millisatoshi:
|
||||
annotation = annotations.get(key, None)
|
||||
if annotation is not None and annotation == Millisatoshi:
|
||||
args[key] = Millisatoshi(val)
|
||||
else:
|
||||
args[key] = val
|
||||
|
Loading…
Reference in New Issue
Block a user