Passed
Push — master ( aa5409...f8814e )
by Mingyu
01:23
created

app.views   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 21
dl 0
loc 28
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A BaseResource.__init__() 0 2 1
A BaseResource.unicode_safe_json_dumps() 0 7 1
1
import json
2
import time
3
4
from flask import Blueprint, Response
5
from flask_restful import Resource
6
from werkzeug.exceptions import HTTPException
7
8
from app import errorhandlers, request_callback_decorators
9
10
api_v1_blueprint = Blueprint('api', __name__, url_prefix='/api/v1')
11
12
api_v1_blueprint.register_error_handler(HTTPException, errorhandlers.http_exception_handler)
13
api_v1_blueprint.register_error_handler(Exception, errorhandlers.broad_exception_error_handler)
14
api_v1_blueprint.after_request(request_callback_decorators.after_request)
15
16
17
class BaseResource(Resource):
18
    def __init__(self):
19
        self.now = time.strftime('%Y-%m-%d %H:%M:%S')
20
21
    @classmethod
22
    def unicode_safe_json_dumps(cls, data, status_code=200, **kwargs) -> Response:
23
        return Response(
24
            json.dumps(data, ensure_ascii=False),
25
            status_code,
26
            content_type='application/json; charset=utf8',
27
            **kwargs
28
        )
29