33 lines
939 B
Python
33 lines
939 B
Python
|
from json import load
|
||
|
from os.path import join
|
||
|
|
||
|
from src.constants import LANGUAGES, DEFAULT_RESULT, DEFAULT_QUERY, DATA_FOLDER
|
||
|
|
||
|
|
||
|
def load_index(language: str, category: str):
|
||
|
with open(join(DATA_FOLDER, 'index', language, f'{category}.json'), 'r', encoding='utf-8') as f:
|
||
|
return load(f)
|
||
|
|
||
|
|
||
|
def load_file(lang: str, category: str, name: str) -> dict:
|
||
|
with open(join(DATA_FOLDER, lang, category, f'{name}.json'), 'r', encoding='utf-8') as f:
|
||
|
return load(f)
|
||
|
|
||
|
|
||
|
def parse_query_langs(langs: str) -> list[str]:
|
||
|
languages = langs.replace(' ', '').split(',')
|
||
|
query = []
|
||
|
for i in languages:
|
||
|
for j in LANGUAGES:
|
||
|
if j.lower().startswith(i):
|
||
|
query.append(j)
|
||
|
return query if len(query) > 0 else DEFAULT_QUERY
|
||
|
|
||
|
|
||
|
def parse_result_lang(lang: str) -> str:
|
||
|
for l in LANGUAGES:
|
||
|
if l.lower().startswith(lang):
|
||
|
return l
|
||
|
else:
|
||
|
return DEFAULT_RESULT
|