import json
import os

def get_database():
    """Собирает базу данных сервисов и возвращает её в виде словаря."""
    servises = os.path.abspath("servises")
    config_json_path = os.path.join(servises, "servises_datas.json")
    
    if not os.path.exists(config_json_path):
        print(f"Ошибка: Не найден файл настроек {config_json_path}")
        return {}

    with open(config_json_path, "r", encoding="utf-8") as file:
        data = json.load(file)

    def pht(servname):
        return os.path.join(servises, servname)

    servs = data["servises"]
    servs_names = data["servises_names"]
    servs_prefixes = data["servises_prefix"]

    servs_db = {}

    with open(pht(servs_prefixes), "r", encoding="utf-8") as f0:
        prefix = f0.read().strip()

    with open(pht(servs), "r", encoding="utf-8") as f1, open(pht(servs_names), "r", encoding="utf-8") as f2:
        for i in f1:
            main = i.split()
            if not main:
                continue
                
            host = "chrome://newtab"
            if main[0] != "chrome://newtab":
                host = prefix + main[0]
                
            icon = main[1] if len(main) > 1 else ""
            title = f2.readline().strip()
            
            if title:
                json_conf = {"host": host, "icon": icon}
                servs_db[title] = json_conf
                
    return servs_db

# Этот блок выполнится, ТОЛЬКО если запустить файл напрямую, а не импортировать
if __name__ == "__main__":
    db = get_database()
    print("Проверка модуля. Найдено сервисов:", len(db))
    print(db)
