From 7f904b4a79b19edb98ef103dc3f67d756a0a862c Mon Sep 17 00:00:00 2001 From: Himanshu Warekar Date: Thu, 19 Sep 2019 01:04:55 +0530 Subject: [PATCH] fix: use getfullargspec for type annotations --- frappe/__init__.py | 8 +++++++- frappe/desk/form/run_method.py | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 78e0cdb355..fd19492c48 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -1039,7 +1039,13 @@ def get_newargs(fn, kwargs): if hasattr(fn, 'fnargs'): fnargs = fn.fnargs else: - fnargs, varargs, varkw, defaults = inspect.getargspec(fn) + try: + fnargs, varargs, varkw, defaults = inspect.getargspec(fn) + except ValueError: + fnargs = inspect.getfullargspec(fn).args + varargs = inspect.getfullargspec(fn).varargs + varkw = inspect.getfullargspec(fn).varkw + defaults = inspect.getfullargspec(fn).defaults newargs = {} for a in kwargs: diff --git a/frappe/desk/form/run_method.py b/frappe/desk/form/run_method.py index 0a973c35ed..7952f3b68d 100644 --- a/frappe/desk/form/run_method.py +++ b/frappe/desk/form/run_method.py @@ -31,7 +31,14 @@ def runserverobj(method, docs=None, dt=None, dn=None, arg=None, args=None): except ValueError: args = args - fnargs, varargs, varkw, defaults = inspect.getargspec(getattr(doc, method)) + try: + fnargs, varargs, varkw, defaults = inspect.getargspec(getattr(doc, method)) + except ValueError: + fnargs = inspect.getfullargspec(getattr(doc, method)).args + varargs = inspect.getfullargspec(getattr(doc, method)).varargs + varkw = inspect.getfullargspec(getattr(doc, method)).varkw + defaults = inspect.getfullargspec(getattr(doc, method)).defaults + if not fnargs or (len(fnargs)==1 and fnargs[0]=="self"): r = doc.run_method(method)