""" Шаблон патча Здесь вы можете добавить описание патча, его назначение и другие детали. Каждый патч должен независеть от других патчей и проверять себя при применении. Он не должен вернуть True, если есть проблемы. На данный момент каждый патч должен иметь функцию `apply`, которая принимает на вход конфигурацию и возвращает True или False. При успешном применении патча, функция apply должна вернуть True, иначе False. Ошибка будет интерпретирована как False. С выводом ошибки в консоль. Ещё патч должен иметь переменную `priority`, которая указывает приоритет патча, чем выше, тем раньше он будет применен. Коротко о конфигурации. Она получается из `config.json` из config["patches"][patch_name]. Дополнительно в основном методе `apply` кроме этого есть "verbose" и содержимое "base". Эти поля передаются всем патчам. `verbose` может быть указан так-же как флаг запуска: ``` python ./main.py build --verbose ``` В конце файла должно быть описание конфигурации патча. Это может быть как короткий фрагмент из названия патча и одной опции "enabled", которая обрабатывается в коде патчера. "todo_template": { "enabled": true // Пример описания тк этот текст просто пример } """ priority = 0 # Приоритет патча, чем выше, тем раньше он будет применен # imports from tqdm import tqdm # Patch def apply(config: dict) -> bool: # Анотации типов для удобства, читаемости и поддержки IDE tqdm.write("Вывод информации через tqdm, чтобы не мешать прогресс-бару") if config["verbose"]: tqdm.write("Для вывода подробной и отладочной информации используйте флаг --verbose") return True