Browse Source

换框架flask

hsun 1 year ago
parent
commit
27bb617d9d
1 changed files with 22 additions and 10 deletions
  1. 22 10
      eta_report2img/main.py

+ 22 - 10
eta_report2img/main.py

@@ -1,7 +1,7 @@
 # coding=utf-8
-import hug
 import os
-from bottle import run
+from flask import Flask
+from flask import request
 from selenium import webdriver
 from selenium.webdriver.chrome.service import Service
 from time import sleep
@@ -17,16 +17,24 @@ image_folder = './imgs'  # 转换过程中生成的图片目录, 最终会合并
 output_file = './screenshot'  # 最后的输出目录
 
 # hug接口输出为json格式
-hug.API(__name__).http.output_format = hug.output_format.json
+app = Flask(__name__)
 
 
-@hug.get('/api/report/server')
+@app.route('/api/report/server')
 def report_server():
     return 1
 
 
-@hug.post('/api/report/html2img')
-def report_detail2img(report_url: hug.types.text, file_name: hug.types.text, output_type: hug.types.text):
+@app.route('/api/report/html2img', methods=['POST'])
+def report_detail2img():
+    req_data = request.get_json()
+    if req_data is None:
+        return {"code": 403, "data": "", "error": "参数有误"}
+
+    report_url = req_data['report_url']
+    file_name = req_data['file_name']
+    output_type = req_data['output_type']
+
     # report_url参数, 报告的分享地址
     if report_url is None or report_url == "":
         return {"code": 403, "data": "", "error": "report_url parameter is missing"}
@@ -65,8 +73,13 @@ def report_detail2img(report_url: hug.types.text, file_name: hug.types.text, out
         return {"code": 403, "data": "", "error": err_msg}
 
 
-@hug.post('/api/report/clear_local_file')
-def clear_local_file(file_name: hug.types.text):
+@app.route('/api/report/clear_local_file', methods=['POST'])
+def clear_local_file():
+    req_data = request.get_json()
+    if req_data is None:
+        return {"code": 403, "data": "", "error": "参数有误"}
+
+    file_name = req_data['file_name']
     if file_name is None or file_name == "":
         return {"code": 403, "data": "", "error": "file_name parameter is missing"}
 
@@ -106,5 +119,4 @@ def create_img_and_pdf(report_url, file_name, output_type=""):
 
 
 if __name__ == "__main__":
-    app = __hug__.http.server()
-    run(app=app, reloader=True, port=server_port)
+    app.run(host='0.0.0.0', port=server_port, debug=True)