practicum / server.py
abps's picture
Upload 6 files
8701113
raw
history blame
1.9 kB
import requests
import util
import glob
import json
import os.path
import pickle
from flask import Flask, request, jsonify, send_file, send_from_directory
app = Flask(__name__)
white = ['http://127.0.0.1:5500']
@app.after_request
def add_cors_headers(response):
if(request.referrer):
r = request.referrer[:-1]
if r in white:
response.headers.add('Access-Control-Allow-Origin', r)
response.headers.add('Access-Control-Allow-Credentials', 'true')
response.headers.add('Access-Control-Allow-Headers', 'Content-Type')
response.headers.add('Access-Control-Allow-Headers', 'Cache-Control')
response.headers.add('Access-Control-Allow-Headers', 'X-Requested-With')
response.headers.add('Access-Control-Allow-Headers', 'Authorization')
response.headers.add('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE')
return response
@app.route('/h')
def hello():
return "hi"
@app.route('/files')
def get_file_names():
folder_path = util.__folder_path__ + "Actor_*\\*.wav"
file_names = []
for file in glob.glob(folder_path):
file_name = os.path.basename(file)
file_path = os.path.dirname(file).split('\\')[-1]
rel_file_name = file_path+"/"+file_name
file_names.append(rel_file_name)
return file_names
@app.route('/get_file', methods=['POST'])
def get_file():
file_name = request.json['file_name']
file_path = util.__folder_path__+file_name
return send_file(file_path)
@app.route('/get_emotion', methods=['POST'])
def get_emotion():
file_name = request.form['file_name']
file_path = util.__folder_path__+file_name
util.load_model()
emotion = util.predict_emotion(file_path)
return emotion
if __name__ == "__main__":
print("starting")
# app.debug = True
app.run(port=8000,debug=True)