Projet

Général

Profil

0005-jsonresponse-simplify-decorator-wrapper-17175.patch

Frédéric Péters, 29 juin 2017 08:00

Télécharger (1,58 ko)

Voir les différences:

Subject: [PATCH 5/5] jsonresponse: simplify decorator wrapper (#17175)

 passerelle/utils/jsonresponse.py | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)
passerelle/utils/jsonresponse.py
30 30

  
31 31
class to_json(object):
32 32
    def __init__(self, error_code=500, **kwargs):
33
        self.method = None
34 33
        self.error_code = error_code
35 34
        self.kwargs = kwargs
36 35
        if 'cls' not in self.kwargs:
......
39 38
    def __call__(self, f):
40 39
        @functools.wraps(f)
41 40
        def wrapper(*args, **kwargs):
42
            if self.method:
43
                return self.method(f, *args, **kwargs)
44

  
45
            if not args:
46
                self.method = self.api_func
47

  
48
            if getattr(getattr(args[0], f.__name__, None), "im_self", False):
49
                self.method = self.api_method
50
            else:
51
                self.method = self.api_func
52

  
53
            return self.method(f, *args, **kwargs)
41
            method = self.api_func
42
            if args and getattr(getattr(args[0], f.__name__, None), "im_self", False):
43
                method = self.api_method
44
            return method(f, *args, **kwargs)
54 45

  
55 46
        return wrapper
56 47

  
57
-