|
@@ -0,0 +1,53 @@
|
|
|
+# from gevent import monkey
|
|
|
+# from gevent.pywsgi import WSGIServer
|
|
|
+# from gevent import signal as geventsig
|
|
|
+
|
|
|
+import base64
|
|
|
+from io import BytesIO
|
|
|
+from matplotlib.figure import Figure
|
|
|
+import json
|
|
|
+
|
|
|
+from flask import request, jsonify
|
|
|
+import logging
|
|
|
+import time
|
|
|
+import signal as sig
|
|
|
+import sys, getopt
|
|
|
+
|
|
|
+from refill import ChannelPainter
|
|
|
+from refill import day_stamp
|
|
|
+
|
|
|
+from flask import Flask
|
|
|
+app = Flask(__name__)
|
|
|
+
|
|
|
+logging.basicConfig(filename='/var/www/html/data/log/flask.log',
|
|
|
+ format='%(levelname)10s %(asctime)s %(name)10s %(thread)d %(message)s',
|
|
|
+ level=logging.DEBUG)
|
|
|
+logger = logging.getLogger('plot')
|
|
|
+
|
|
|
+@app.route('/plot/channelratio')
|
|
|
+def channelratio():
|
|
|
+ try:
|
|
|
+ logger.debug('start chratio')
|
|
|
+ start_time = request.args.get('start_time') or None
|
|
|
+ end_time = request.args.get('end_time') or None
|
|
|
+ interval = request.args.get('interval') or None
|
|
|
+ chnames = request.args.get('chnames') or None
|
|
|
+ card_type = request.args.get('card_type') or None
|
|
|
+ spec = request.args.get('spec') or None
|
|
|
+
|
|
|
+ painter = ChannelPainter(start_time=start_time,end_time=end_time,interval=interval,chnames=chnames,card_type=card_type,spec=spec)
|
|
|
+ data = painter.paint()
|
|
|
+
|
|
|
+ logger.debug('start_time=%s end_time=%s interval= %s chnames=%s quality=%s card_type=%s amount=%s',
|
|
|
+ start_time, interval, chnames, card_type, spec)
|
|
|
+ except Exception as ex:
|
|
|
+ logger.error(ex)
|
|
|
+ return None
|
|
|
+
|
|
|
+if __name__ == "__main__":
|
|
|
+ app.run(debug=True)
|
|
|
+ # monkey.patch_all()
|
|
|
+ # http_server = WSGIServer(('0.0.0.0', 5000), app)
|
|
|
+ # geventsig.signal(sig.SIGTERM, lambda: http_server.stop())
|
|
|
+ # geventsig.signal(sig.SIGINT, lambda: http_server.stop())
|
|
|
+ # http_server.serve_forever()
|