import functools import json import os import os.path from flask import Flask app = None cache_path = None def init(namespace): global app global cache_path app = Flask(namespace) cache_path = os.path.join(os.getcwd(), 'cache') def jsonify(view): def wrapped_view(*args, **kwargs): response = view(*args, **kwargs) status_code = 200 # contains http response code if type(response) is tuple and len(response) == 2 and \ type(response[1]) is int: response, status_code = response if type(response) is not str: response = json.dumps(response) response = app.make_response(response) response.mimetype = 'application/json' response.status_code = status_code return response functools.update_wrapper(wrapped_view, view) return wrapped_view