From e1c69ceccac06fa2d94a31b1ce29b762fff9240d Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 5 May 2021 18:31:26 +0530 Subject: [PATCH] chore: Update usages of inspect getargspec Deprecated since version 3.0: Use getfullargspec() for an updated API that is usually a drop-in replacement, but also correctly handles function annotations and keyword-only parameters. ref: https://docs.python.org/3/library/inspect.html#inspect.getargspec --- frappe/__init__.py | 11 ++++------- frappe/handler.py | 5 +---- frappe/website/context.py | 2 +- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 5680ba86b5..ed9f1d0c4a 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -1178,13 +1178,10 @@ def get_newargs(fn, kwargs): if hasattr(fn, 'fnargs'): fnargs = fn.fnargs else: - 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 + 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/handler.py b/frappe/handler.py index a38feb90fa..b622667e18 100755 --- a/frappe/handler.py +++ b/frappe/handler.py @@ -228,10 +228,7 @@ def run_doc_method(method, docs=None, dt=None, dn=None, arg=None, args=None): is_whitelisted(fn) is_valid_http_method(fn) - try: - fnargs = inspect.getargspec(method_obj)[0] - except ValueError: - fnargs = inspect.getfullargspec(method_obj).args + fnargs = inspect.getfullargspec(method_obj).args if not fnargs or (len(fnargs)==1 and fnargs[0]=="self"): response = doc.run_method(method) diff --git a/frappe/website/context.py b/frappe/website/context.py index f6a4a64019..b39770dcd4 100644 --- a/frappe/website/context.py +++ b/frappe/website/context.py @@ -52,7 +52,7 @@ def update_controller_context(context, controller): if hasattr(module, "get_context"): import inspect try: - if inspect.getargspec(module.get_context).args: + if inspect.getfullargspec(module.get_context).args: ret = module.get_context(context) else: ret = module.get_context()