mirror of
https://github.com/LibreTranslate/LibreTranslate.git
synced 2024-11-24 08:02:18 +02:00
fix
This commit is contained in:
parent
4f0d19dbc4
commit
73ebb96171
23
app/app.py
23
app/app.py
@ -1,3 +1,4 @@
|
||||
import io
|
||||
import os
|
||||
import tempfile
|
||||
import uuid
|
||||
@ -6,7 +7,7 @@ from functools import wraps
|
||||
import argostranslatefiles
|
||||
import pkg_resources
|
||||
from argostranslatefiles import get_supported_formats
|
||||
from flask import Flask, abort, jsonify, render_template, request, url_for, send_from_directory
|
||||
from flask import Flask, abort, jsonify, render_template, request, url_for, send_from_directory, send_file
|
||||
from flask_swagger import swagger
|
||||
from flask_swagger_ui import get_swaggerui_blueprint
|
||||
from translatehtml import translate_html
|
||||
@ -548,14 +549,8 @@ def create_app(args):
|
||||
type: string
|
||||
description: Error message
|
||||
"""
|
||||
if request.is_json:
|
||||
json = get_json_dict(request)
|
||||
source_lang = json.get("source")
|
||||
target_lang = json.get("target")
|
||||
else:
|
||||
source_lang = request.values.get("source")
|
||||
target_lang = request.values.get("target")
|
||||
|
||||
source_lang = request.form.get("source")
|
||||
target_lang = request.form.get("target")
|
||||
file = request.files['file']
|
||||
|
||||
if not file:
|
||||
@ -606,8 +601,16 @@ def create_app(args):
|
||||
Download a translated file
|
||||
"""
|
||||
filename.split('.').pop(0)
|
||||
filepath = os.path.join(tempfile.gettempdir(), filename)
|
||||
|
||||
return send_from_directory(directory=tempfile.gettempdir(), filename=filename)
|
||||
return_data = io.BytesIO()
|
||||
with open(filepath, 'rb') as fo:
|
||||
return_data.write(fo.read())
|
||||
return_data.seek(0)
|
||||
|
||||
os.remove(filepath)
|
||||
|
||||
return send_file(return_data, attachment_filename=filename)
|
||||
|
||||
@app.route("/detect", methods=["POST"])
|
||||
@access_check
|
||||
|
@ -328,17 +328,18 @@ document.addEventListener('DOMContentLoaded', function(){
|
||||
|
||||
let formdata = new FormData();
|
||||
formdata.append("file", this.inputFile);
|
||||
|
||||
translateFileRequest.send(formdata);
|
||||
formdata.append("source", this.sourceLang);
|
||||
formdata.append("target", this.targetLang);
|
||||
|
||||
this.loadingFileTranslation = true
|
||||
|
||||
translateFileRequest.onreadystatechange = function () {
|
||||
if (xhr.readyState == 4 && xhr.status == 200) {
|
||||
translateFileRequest.onload = () => {
|
||||
if (translateFileRequest.readyState === 4 && translateFileRequest.status === 200) {
|
||||
this.loadingFileTranslation = false
|
||||
}
|
||||
}
|
||||
|
||||
translateFileRequest.send(formdata);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -196,14 +196,17 @@
|
||||
<p>[[ inputFile.name ]]</p>
|
||||
</div>
|
||||
<div class="col s2">
|
||||
<button @click="removeFile" class="btn-flat">
|
||||
<button v-if="loadingFileTranslation !== true" @click="removeFile" class="btn-flat">
|
||||
<i class="material-icons">close</i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button @click="translateFile" class="btn">Translate</button>
|
||||
<button @click="translateFile" v-if="loadingFileTranslation === false" class="btn">Translate</button>
|
||||
<div class="progress" v-if="loadingFileTranslation">
|
||||
<div class="indeterminate"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user