Spaces:
Paused
Paused
Captain Ezio
commited on
Commit
·
d4afcb3
1
Parent(s):
f918898
Delete Powers/tr_engine directory
Browse files
Powers/tr_engine/__init__.py
DELETED
|
@@ -1,5 +0,0 @@
|
|
| 1 |
-
from Powers.tr_engine.tr_engine import lang_dict, tlang
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
async def useless_func():
|
| 5 |
-
return lang_dict, tlang
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Powers/tr_engine/tr_engine.py
DELETED
|
@@ -1,72 +0,0 @@
|
|
| 1 |
-
from functools import reduce
|
| 2 |
-
from glob import glob
|
| 3 |
-
from operator import getitem
|
| 4 |
-
from os import path
|
| 5 |
-
from threading import RLock
|
| 6 |
-
from traceback import format_exc
|
| 7 |
-
|
| 8 |
-
from pyrogram.types import CallbackQuery
|
| 9 |
-
from yaml import FullLoader
|
| 10 |
-
from yaml import load as load_yml
|
| 11 |
-
|
| 12 |
-
from Powers import ENABLED_LOCALES, LOGGER
|
| 13 |
-
from Powers.database.lang_db import Langs
|
| 14 |
-
|
| 15 |
-
# Initialise
|
| 16 |
-
LANG_LOCK = RLock()
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
def cache_localizations(files):
|
| 20 |
-
"""Get all translated strings from files."""
|
| 21 |
-
ldict = {lang: {} for lang in ENABLED_LOCALES}
|
| 22 |
-
for file in files:
|
| 23 |
-
lang_name = (file.split(path.sep)[1]).replace(".yml", "")
|
| 24 |
-
lang_data = load_yml(open(file, encoding="utf-8"), Loader=FullLoader)
|
| 25 |
-
ldict[lang_name] = lang_data
|
| 26 |
-
return ldict
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
# Get all translation files
|
| 30 |
-
lang_files = []
|
| 31 |
-
for locale in ENABLED_LOCALES:
|
| 32 |
-
lang_files += glob(path.join("locales", f"{locale}.yml"))
|
| 33 |
-
lang_dict = cache_localizations(lang_files)
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
def tlang(m, user_msg):
|
| 37 |
-
"""Main function for getting the string of preferred language."""
|
| 38 |
-
with LANG_LOCK:
|
| 39 |
-
default_lang = "en"
|
| 40 |
-
|
| 41 |
-
m_args = user_msg.split(".") # Split in a list
|
| 42 |
-
|
| 43 |
-
# Get Chat
|
| 44 |
-
if isinstance(m, CallbackQuery):
|
| 45 |
-
m = m.message
|
| 46 |
-
|
| 47 |
-
# Get language of user from database, default = 'en' (English)
|
| 48 |
-
try:
|
| 49 |
-
lang = Langs(m.chat.id).get_lang()
|
| 50 |
-
except Exception as ef:
|
| 51 |
-
LOGGER.error(f"Lang Error: {ef}")
|
| 52 |
-
lang = default_lang
|
| 53 |
-
LOGGER.error(format_exc())
|
| 54 |
-
|
| 55 |
-
# Raise exception if lang_code not found
|
| 56 |
-
if lang not in ENABLED_LOCALES:
|
| 57 |
-
LOGGER.error("Non-enabled locale used by user!")
|
| 58 |
-
lang = default_lang
|
| 59 |
-
|
| 60 |
-
# Get lang
|
| 61 |
-
m_args.insert(0, lang)
|
| 62 |
-
m_args.insert(1, "strings")
|
| 63 |
-
|
| 64 |
-
try:
|
| 65 |
-
txt = reduce(getitem, m_args, lang_dict)
|
| 66 |
-
except KeyError:
|
| 67 |
-
m_args.pop(0)
|
| 68 |
-
m_args.insert(0, default_lang)
|
| 69 |
-
txt = reduce(getitem, m_args, lang_dict)
|
| 70 |
-
LOGGER.error(format_exc())
|
| 71 |
-
|
| 72 |
-
return txt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|