54 lines
1.5 KiB
Python
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() |