Spaces:
Build error
Build error
# ===================================================================== # | |
# Copyright (c) 2022 Itz-fork # | |
# # | |
# This program is distributed in the hope that it will be useful, # | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of # | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # | |
# See the GNU General Public License for more details. # | |
# # | |
# You should have received a copy of the GNU General Public License # | |
# along with this program. If not, see <http://www.gnu.org/licenses/> # | |
# ===================================================================== # | |
import logging | |
from json import loads | |
from asyncio import get_event_loop | |
# Cache dicts | |
USER_LANG = {} | |
STRINGS = {} | |
def update_languages_cache(): | |
from unzipper.database.language import get_user_languages | |
async def _iter_and_update(): | |
async for doc in await get_user_languages(): | |
USER_LANG[doc["_id"]] = doc["lang"] | |
loop = get_event_loop() | |
loop.run_until_complete(_iter_and_update()) | |
def update_text_strings(): | |
def _read_json(file, as_items=False): | |
with open(file) as f: | |
return loads(f.read()).items() if as_items else loads(f.read()) | |
subfolders = _read_json("unzipper/localization/languages.json", True) | |
for lcode, fnm in subfolders: | |
str_list = _read_json(f"unzipper/localization/{lcode}/messages.json") | |
btn_strs = _read_json(f"unzipper/localization/defaults/buttons.json") | |
STRINGS[lcode] = str_list | |
STRINGS["buttons"] = btn_strs | |
def update_cache(): | |
logging.info(" >> Updating text strings cache...") | |
update_text_strings() | |
logging.info(" >> Updating language cache...") | |
update_languages_cache() | |