#!/usr/bin/env python # -*- coding: utf_8 -*- import os import json import datetime import logging import traceback import uuid from flask import Blueprint, request, redirect, url_for, json, Response, send_file, make_response, send_from_directory from app import config, signalManager from fullstack.login import Auth from fullstack.response import ResponseCode, response_result from fullstack.validation import validate_schema from schema.api import UpdatePasswordSchema logger = logging.getLogger("api") api = Blueprint("api", __name__, url_prefix="/api/v1/%s" % config['NAME']) def stopApp(): fpath = os.sep.join([os.getcwd(), "restart.json"]) with open(fpath, "rw+") as f: ret = json.loads(f.read()) ret["count"] = ret["count"] + 1 f.write(json.dumps(ret, indent=4)) return ret def actionShowReport(): fpath = os.sep.join([os.getcwd(), "results", "TPC-E_dm.pdf"]) with open(fpath, "rb") as f: ret = f.read() return ret @api.route("/updatePassword", methods=['POST']) @validate_schema(UpdatePasswordSchema) @Auth.auth_required def update_password(): result, message = signalManager.actionUpdatePassword.emit(request.schema_data) if result: return response_result(ResponseCode.OK, data=result, msg=message) else: return response_result(ResponseCode.NOTHING_CHANGE, msg=message) @api.route("/upload", methods=['POST']) # 上传文件 def upload_file(): try: result, message = signalManager.actionUploadFile.emit() if result: return response_result(ResponseCode.OK, data=result, msg=message) else: return response_result(ResponseCode.REQUEST_ERROR, msg=message) except Exception as e: traceback.print_exc() logger.error(str(e)) return response_result(ResponseCode.SERVER_ERROR, msg=str(e)) @api.route("/system/updateDatabase", methods=['GET']) def update_db(): result = [] for index in range(16): print(index) result.append(str(uuid.uuid1())) return response_result(ResponseCode.OK, data=result)