from flask import Flask, request, jsonify
import argostranslate.package, argostranslate.translate

app = Flask(__name__)

@app.route('/translate', methods=['POST'])
def translate():
    data = request.json
    text = data['q']
    source = data['source']
    target = data['target']
    installed = argostranslate.translate.get_installed_languages()
    from_lang = next(l for l in installed if l.code == source)
    to_lang = next(l for l in installed if l.code == target)
    translation = from_lang.get_translation(to_lang).translate(text)
    return jsonify({'translatedText': translation})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)
