"""Change api server"""
priority = 0
from tqdm import tqdm

import json
import requests


def apply(config: dict) -> bool:
    response = requests.get(config['server'])
    assert response.status_code == 200, f"Failed to fetch data {response.status_code} {response.text}"
    new_api = json.loads(response.text)
    for item in new_api['modifications']:
        tqdm.write(f"Изменение {item['file']}")
        filepath = './decompiled/smali_classes2/com/swiftsoft/anixartd/network/api/'+item['file']
        with open(filepath, 'r') as f:
            content = f.read()
        with open(filepath, 'w') as f:
            if content.count(item['src']) == 0:
                tqdm.write(f"⚠ Не найдено {item['src']}")
            f.write(content.replace(item['src'], item['dst']))

    tqdm.write(f"Изменение Github ссылки")
    filepath = './decompiled/smali_classes2/com/swiftsoft/anixartd/utils/anixnet/GithubPagesNetFetcher.smali'
    with open(filepath, 'r') as f:
        content = f.read()
    with open(filepath, 'w') as f:
        f.write(content.replace('const-string v1, "https://anixhelper.github.io/pages/urls.json"', f'const-string v1, "{new_api["gh"]}"'))

    content = ""
    tqdm.write("Удаление динамического выбора сервера")
    filepath = './decompiled/smali_classes2/com/swiftsoft/anixartd/DaggerApp_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider.smali'
    with open(filepath, 'r') as f:
        for line in f.readlines():
            if "addInterceptor" in line: continue
            content += line
    with open(filepath, 'w') as f:
        f.write(content)

    return True
