Use inspect.signature instead of formatargspec

inspect.formatargspec has been deprecated since Python 3.5,
and removed in Python 3.11.
This commit is contained in:
Kazuya O'moto
2023-02-24 22:07:51 +09:00
parent 71ed075c78
commit 8e98e8b442

View File

@@ -175,8 +175,11 @@ def getCallTip(command='', locals=None):
pass
elif inspect.isfunction(obj):
# tip1 is a string like: "getCallTip(command='', locals=None)"
argspec = inspect.getargspec(obj) if not PY3 else inspect.getfullargspec(obj)
argspec = inspect.formatargspec(*argspec)
try:
argspec = str(inspect.signature(obj)) # PY35 or later
except AttributeError:
argspec = inspect.getargspec(obj) if not PY3 else inspect.getfullargspec(obj)
argspec = inspect.formatargspec(*argspec)
if dropSelf:
# The first parameter to a method is a reference to an
# instance, usually coded as "self", and is usually passed