electromagnetic-data-new/electrmangnetic/src/main/resources/static/example.py

54 lines
1.5 KiB
Python

# -*- coding: UTF-8 -*-
from parse import analyse
from gevent.pywsgi import WSGIServer
from gevent import monkey
import json
import numpy as np
from time import sleep
from flask import Flask, request, jsonify, Response, render_template
monkey.patch_all()
app = Flask(__name__)
app.debug = True
# @app.route( '/', methods=['get'])
# def hello():
# return render_template('index.html', input_text = '', res_text = '')
@app.route( '/dbpnb', methods=['post'])
def dbpnb():
layoutPath = request.form.get('layoutPath')
imagePath = request.form.getlist('imagePath[]')
fontPath = request.form.get('fontPath')
pageBackgroundImage = request.form.get('pageBackgroundImage')
pageBackgroundColor = request.form.getlist('pageBackgroundColor[]')
result = analyse(
layoutPath = layoutPath,
imagePath = imagePath,
fontPath = fontPath,
pageBackgroundImage = pageBackgroundImage,
pageBackgroundColor = pageBackgroundColor
)
return Response ( json.dumps(result, cls=NpEncoder) , mimetype = 'application/json' )
class NpEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.integer):
return int(obj)
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
else:
return super(NpEncoder, self).default(obj)
if __name__ == '__main__':
http_server = WSGIServer(('127.0.0.1', 7777), app)
http_server.serve_forever()