diff --git a/app/init.py b/app/init.py index 6aeb88b..54d1100 100644 --- a/app/init.py +++ b/app/init.py @@ -1,10 +1,13 @@ import os -from argostranslate import translate -import os, glob, shutil, zipfile +from pathlib import Path +from argostranslate import settings INSTALLED_MODELS_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "installed_models")) - os.environ["ARGOS_TRANSLATE_PACKAGES_DIR"] = INSTALLED_MODELS_DIR +settings.package_dirs = [Path(INSTALLED_MODELS_DIR)] + +from argostranslate import translate +import os, glob, shutil, zipfile def boot(): check_and_install_models() diff --git a/install_models.py b/install_models.py old mode 100644 new mode 100755 index 334e1fc..5492f1a --- a/install_models.py +++ b/install_models.py @@ -1,4 +1,6 @@ +#!/usr/bin/env python + from app.init import check_and_install_models if __name__ == "__main__": - check_and_install_models(force=True) \ No newline at end of file + check_and_install_models(force=True) diff --git a/main.py b/main.py index 602db8a..ec9c9e3 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,7 @@ +from app.init import boot import argparse from flask import Flask, render_template, jsonify, request, abort, send_from_directory from app.language import languages -from app.init import boot parser = argparse.ArgumentParser(description='LibreTranslate - Free and Open Source Translation API') parser.add_argument('host', type=str, @@ -35,9 +35,15 @@ def langs(): @app.route("/translate", methods=['POST']) def translate(): - q = request.values.get("q") - source_lang = request.values.get("source") - target_lang = request.values.get("target") + if request.is_json: + json = request.get_json() + q = json.get('q') + source_lang = json.get('source') + target_lang = json.get('target') + else: + q = request.values.get("q") + source_lang = request.values.get("source") + target_lang = request.values.get("target") if not q: abort(400, description="Invalid request: missing q parameter") diff --git a/models b/models index 0492a76..3d5ca0a 160000 --- a/models +++ b/models @@ -1 +1 @@ -Subproject commit 0492a7619847d74f3ec6e7e2b6707e00103eebd0 +Subproject commit 3d5ca0a2c3c302287339b2944329f767ac1673f4 diff --git a/requirements.txt b/requirements.txt index e927cd3..478da92 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ argostranslate==1.0.3 - +Flask==1.1.2 diff --git a/static/index.html b/static/index.html index 22efc52..a753ddb 100644 --- a/static/index.html +++ b/static/index.html @@ -6,162 +6,231 @@ LibreTranslate - Free and Open Source Translation API - - - + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ error }}: TODO +
+
-
-
-

Translation API

-
-
-
-
-
-
- - +
+
+

Translation API

+
+
+
+ +
+
+
-
- - + -
-
-
- - -
-
-
-
-
- - - -
-
- +
+ +
+
+
+
+ + +
+
+
+ + +
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-

{{ sourceLang }}

-
-
-
-
-
-
-
+
+
+
+
+
+

Request

+

+


+

+
+
+

Response

+

+
+
+
-
-
-
+
+
+
-
-
+
+
+
+ + +