Conditions | 6 |
Total Lines | 20 |
Code Lines | 19 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | import functools |
||
8 | def json(f): |
||
9 | @functools.wraps(f) |
||
1 ignored issue
–
show
|
|||
10 | def wrapped(*args, **kwargs): |
||
1 ignored issue
–
show
|
|||
11 | rv = f(*args, **kwargs) |
||
1 ignored issue
–
show
|
|||
12 | status_or_headers = None |
||
1 ignored issue
–
show
|
|||
13 | headers = None |
||
1 ignored issue
–
show
|
|||
14 | if isinstance(rv, tuple): |
||
1 ignored issue
–
show
|
|||
15 | rv, status_or_headers, headers = rv + (None, ) * (3 - len(rv)) |
||
1 ignored issue
–
show
|
|||
16 | if isinstance(status_or_headers, (dict, list)): |
||
1 ignored issue
–
show
|
|||
17 | headers, status_or_headers = status_or_headers, None |
||
1 ignored issue
–
show
|
|||
18 | if not isinstance(rv, dict): |
||
1 ignored issue
–
show
|
|||
19 | rv = rv.to_json() |
||
1 ignored issue
–
show
|
|||
20 | rv = jsonify(rv) |
||
1 ignored issue
–
show
|
|||
21 | if status_or_headers is not None: |
||
1 ignored issue
–
show
|
|||
22 | rv.status_code = status_or_headers |
||
1 ignored issue
–
show
|
|||
23 | if headers is not None: |
||
1 ignored issue
–
show
|
|||
24 | rv.headers.extend(headers) |
||
1 ignored issue
–
show
|
|||
25 | return rv |
||
1 ignored issue
–
show
|
|||
26 | |||
27 | return wrapped |
||
1 ignored issue
–
show
|
|||
28 | |||
170 |
The coding style of this project requires that you add a docstring to this code element. Below, you find an example for methods:
If you would like to know more about docstrings, we recommend to read PEP-257: Docstring Conventions.