From 0869ac86609bc382a0ebf807753ed3431277e5bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Sun, 25 Jun 2017 11:14:03 +0200 Subject: [PATCH 5/5] jsonresponse: simplify decorator wrapper (#17175) --- passerelle/utils/jsonresponse.py | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/passerelle/utils/jsonresponse.py b/passerelle/utils/jsonresponse.py index 3bc2b8f..c850d8e 100644 --- a/passerelle/utils/jsonresponse.py +++ b/passerelle/utils/jsonresponse.py @@ -30,7 +30,6 @@ class APIError(RuntimeError): class to_json(object): def __init__(self, error_code=500, **kwargs): - self.method = None self.error_code = error_code self.kwargs = kwargs if 'cls' not in self.kwargs: @@ -39,18 +38,10 @@ class to_json(object): def __call__(self, f): @functools.wraps(f) def wrapper(*args, **kwargs): - if self.method: - return self.method(f, *args, **kwargs) - - if not args: - self.method = self.api_func - - if getattr(getattr(args[0], f.__name__, None), "im_self", False): - self.method = self.api_method - else: - self.method = self.api_func - - return self.method(f, *args, **kwargs) + method = self.api_func + if args and getattr(getattr(args[0], f.__name__, None), "im_self", False): + method = self.api_method + return method(f, *args, **kwargs) return wrapper -- 2.13.2