File: decorators.py

package info (click to toggle)
flask-api 0.6.4%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 316 kB
  • ctags: 329
  • sloc: python: 1,284; sh: 21; makefile: 10
file content (28 lines) | stat: -rw-r--r-- 900 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from functools import wraps
from flask import request


def set_parsers(*parsers):
    def decorator(func):
        @wraps(func)
        def decorated_function(*args, **kwargs):
            if len(parsers) == 1 and isinstance(parsers[0], (list, tuple)):
                request.parser_classes = parsers[0]
            else:
                request.parser_classes = parsers
            return func(*args, **kwargs)
        return decorated_function
    return decorator


def set_renderers(*renderers):
    def decorator(func):
        @wraps(func)
        def decorated_function(*args, **kwargs):
            if len(renderers) == 1 and isinstance(renderers[0], (list, tuple)):
                request.renderer_classes = renderers[0]
            else:
                request.renderer_classes = renderers
            return func(*args, **kwargs)
        return decorated_function
    return decorator