fs-walle-react-ts/walle_server.py

52 lines
1.5 KiB
Python
Raw Permalink Normal View History

2017-07-18 13:03:20 +00:00
from flask import Flask,send_from_directory,request
2017-07-12 06:40:24 +00:00
app = Flask(__name__,static_url_path='',static_folder='build')
2017-07-31 12:25:33 +00:00
from freespeech_walle.get_morph_rule import get_morph,get_freq
2017-07-18 13:03:20 +00:00
import json
2017-07-28 13:27:40 +00:00
import codecs
import glob
import os
2017-07-31 11:49:56 +00:00
2017-08-01 11:29:53 +00:00
production = False if os.environ.get('NODE_ENV','') == 'development' else True
2017-08-01 11:55:22 +00:00
xmlDir = 'build/' if production else 'public/'
2017-08-01 11:29:53 +00:00
@app.route('/')
def walle_index():
return app.send_static_file('index.html')
2017-07-13 11:38:27 +00:00
@app.route('/api/morph')
2017-07-18 13:03:20 +00:00
def walle_morph():
word = request.args.get('word','water')
pos_req = request.args.get('pos','N')
pos = pos_req if pos_req != '' else 'N';
2017-07-27 07:39:48 +00:00
return json.dumps(get_morph(word,pos))
2017-07-18 13:03:20 +00:00
2017-07-28 06:56:45 +00:00
@app.route('/api/save',methods=['POST'])
def walle_save():
2017-07-28 13:27:40 +00:00
xmlData = request.form.get('file',None);
xmlFileName = request.form.get('name','new_es_saved.xml');
if xmlData:
with codecs.open(xmlDir+xmlFileName,'wb','utf-8') as xmlF:
print("saved as ",xmlFileName)
2017-07-28 13:27:40 +00:00
xmlF.write(xmlData);
2017-07-28 06:56:45 +00:00
return 'ok'
@app.route('/api/xmlfiles')
def walle_xmlfiles():
xml_files = map(os.path.basename,glob.glob(xmlDir+'*.xml'))
return json.dumps(xml_files)
2017-08-01 11:29:53 +00:00
# from flask_cors import CORS, cross_origin
# CORS(app)
2017-07-18 10:24:19 +00:00
# hmr streaming
2017-07-18 13:03:20 +00:00
# import requests
2017-07-18 10:24:19 +00:00
# from flask import Response,stream_with_context
# @app.route('/<path:url>',methods=['GET','POST'])
2017-07-18 10:24:19 +00:00
# def walle_hmr(url):
# webpack_server = 'http://localhost:3000/'
2017-07-18 10:24:19 +00:00
# req = requests.get(webpack_server+url, stream = True)
# return Response(stream_with_context(req.iter_content()))
2017-07-18 10:24:19 +00:00
2017-07-13 11:38:27 +00:00
if __name__ == '__main__':
app.run(debug=True)