Use inspect.getfullargspec instead of getargspec on hub and web

Fxes: https://pagure.io/koji/issue/3591
This commit is contained in:
Jana Cupova 2022-11-20 09:32:23 +01:00
parent 1d9e96b5ff
commit 7b53236925
2 changed files with 5 additions and 4 deletions

View file

@ -117,10 +117,10 @@ class HandlerRegistry(object):
ret = self.argspec_cache.get(func)
if ret:
return ret
ret = tuple(inspect.getargspec(func))
ret = tuple(inspect.getfullargspec(func))
if inspect.ismethod(func) and func.__self__:
# bound method, remove first arg
args, varargs, varkw, defaults = ret
args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, ann = ret
if args:
aname = args[0] # generally "self"
del args[0]

View file

@ -216,7 +216,7 @@ class Dispatcher(object):
if not inspect.isfunction(val):
continue
# err on the side of paranoia
args = inspect.getargspec(val)
args = inspect.getfullargspec(val)
if not args[0] or args[0][0] != 'environ':
continue
except Exception:
@ -257,7 +257,8 @@ class Dispatcher(object):
if isinstance(val, list) and len(val) == 1:
data[arg] = val[0]
environ['koji.form'] = fs
args, varargs, varkw, defaults = inspect.getargspec(func)
args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, ann = \
inspect.getfullargspec(func)
if not varkw:
# remove any unexpected args
data = dslice(data, args, strict=False)