Passed
Push — master ( 20d9f2...79f6f1 )
by Mingyu
01:11
created

app.views   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 2

1 Function

Rating   Name   Duplication   Size   Complexity  
A route() 0 9 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A BaseResource.unicode_safe_json_dumps() 0 7 1
1
import json
2
from typing import Union, List, Dict
3
4
from flask import Flask, Response
5
from flask_restful import Api, Resource
6
7
from app.blueprints import api_v1_blueprint
8
9
10
class BaseResource(Resource):
11
    @classmethod
12
    def unicode_safe_json_dumps(cls, data: Union[List, Dict], status_code: int=200, **kwargs) -> Response:
13
        return Response(
14
            json.dumps(data, ensure_ascii=False),
15
            status_code,
16
            content_type='application/json; charset=utf8',
17
            **kwargs
18
        )
19
20
21
def route(flask_app: Flask):
22
    from app.views.sample import sample
23
    # circular import 방어
24
25
    api_v1 = Api(api_v1_blueprint)
26
27
    api_v1.add_resource(sample.Sample, '/sample')
28
29
    flask_app.register_blueprint(api_v1_blueprint)
30