Spaces:
				
			
			
	
			
			
		Build error
		
	
	
	
			
			
	
	
	
	
		
		
		Build error
		
	File size: 1,937 Bytes
			
			| 0cee3b2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # ===================================================================== #
#                      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()
 |