44 lines
978 B
Python
44 lines
978 B
Python
import os
|
|
import uuid
|
|
|
|
from flask import Flask
|
|
from flask import jsonify
|
|
from flask import request
|
|
from flask_cors import CORS, cross_origin
|
|
from flask_httpauth import HTTPTokenAuth
|
|
|
|
from src.workers.SpeechToText import SpeechToText
|
|
|
|
app = Flask(__name__)
|
|
cors = CORS(app)
|
|
app.config['CORS_HEADERS'] = 'Content-Type'
|
|
auth = HTTPTokenAuth(scheme='Bearer')
|
|
|
|
secret_token = "97e36f7e-340e-4c02-b329-9415faee38c3"
|
|
|
|
|
|
@auth.verify_token
|
|
def verify_token(token):
|
|
return token == secret_token
|
|
|
|
|
|
@app.route('/', methods=['POST'])
|
|
@auth.login_required
|
|
@cross_origin()
|
|
def post():
|
|
file_name = str(uuid.uuid4()) + ".wav"
|
|
with open(file_name, "wb") as vid:
|
|
vid.write(request.data)
|
|
speech_to_text = SpeechToText()
|
|
result = speech_to_text.to_text(file_name)
|
|
print(result)
|
|
try:
|
|
os.remove(file_name)
|
|
except OSError:
|
|
print(OSError)
|
|
return jsonify(result)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app.run(host='0.0.0.0', port=8000, debug=False)
|