Fix languages reload

As this object can be updated from outside its own module, the module should be imported and
used instead.

Relates to https://github.com/uav4geo/LibreTranslate/issues/54
This commit is contained in:
Stephen Sorriaux 2021-03-28 17:26:31 -04:00
parent 053eafd5a5
commit 1cf23bdc05

View file

@ -2,7 +2,7 @@ import os
from pathlib import Path from pathlib import Path
from argostranslate import settings, package, translate from argostranslate import settings, package, translate
import os, glob, shutil, zipfile import os, glob, shutil, zipfile
from app.language import languages import app.language
import polyglot import polyglot
def boot(load_only=None): def boot(load_only=None):
@ -45,14 +45,13 @@ def check_and_install_models(force=False, load_only_lang_codes=None):
package.install_from_path(download_path) package.install_from_path(download_path)
# reload installed languages # reload installed languages
global languages app.language.languages = translate.load_installed_languages()
languages = translate.load_installed_languages()
print("Loaded support for %s languages (%s models total)!" % (len(translate.load_installed_languages()), len(available_packages))) print("Loaded support for %s languages (%s models total)!" % (len(translate.load_installed_languages()), len(available_packages)))
def check_and_install_transliteration(force=False): def check_and_install_transliteration(force=False):
# 'en' is not a supported transliteration language # 'en' is not a supported transliteration language
transliteration_languages = [l.code for l in languages if l.code != "en"] transliteration_languages = [l.code for l in app.language.languages if l.code != "en"]
# check installed # check installed
install_needed = [] install_needed = []