62 lines
1.4 KiB
Python
62 lines
1.4 KiB
Python
import asyncio
|
|
import glob
|
|
from flask import Blueprint, request, send_file
|
|
from radar.plot_original import final_plot_v1, ALL_MODEL_NAMES
|
|
from radar.plot_prod import final_plot_v2
|
|
import threading
|
|
|
|
plot_v1 = final_plot_v1
|
|
plot_v2 = final_plot_v2
|
|
|
|
all_model_names = ALL_MODEL_NAMES
|
|
|
|
|
|
globed_all_files = glob.glob("./radar/data/**/**.txt", recursive=True)
|
|
|
|
|
|
radar_module = Blueprint("Radar", __name__)
|
|
|
|
|
|
@radar_module.route("/metadata")
|
|
def get_all_files():
|
|
return globed_all_files
|
|
|
|
|
|
@radar_module.route("/metadata/models")
|
|
def get_all_models():
|
|
return all_model_names
|
|
|
|
|
|
@radar_module.route('/render/v1')
|
|
def render_v1():
|
|
"""
|
|
wind_type: Any,
|
|
year: Any,
|
|
H: Any,
|
|
model_name: Any
|
|
"""
|
|
wind_type = request.args.get('wind_type')
|
|
year = request.args.get('year')
|
|
H = request.args.get('H')
|
|
model_name = request.args.get('model_name')
|
|
station = request.args.get('station')
|
|
buf = plot_v1(wind_type, int(year), int(H), model_name, station)
|
|
return send_file(buf, mimetype='image/png')
|
|
|
|
|
|
@radar_module.route('/render/v2')
|
|
def render_v2():
|
|
"""
|
|
year: Any,
|
|
station: Any,
|
|
model_name: Any
|
|
"""
|
|
year = request.args.get('year')
|
|
station = request.args.get('station')
|
|
model_name = request.args.get('model_name')
|
|
# async_plot_v2 = asyncio.coroutine(plot_v2)
|
|
|
|
buffer = plot_v2(int(year), station, model_name)
|
|
|
|
return send_file(buffer, mimetype='image/png')
|