#!/usr/bin/env python3 import sys import tempfile from modules.config_parser import * from modules.log import * from modules.env_var import * from modules.files_worker import * from modules.downloader import * from modules.init_wine import * from modules.source_fetcher import * tmp_path = tempfile.gettempdir() + "/portproton" work_path = get_env_var("USER_WORK_PATH") data_path = work_path + "/data" dist_path = data_path + "/dist" img_path = data_path + "/img" vulkan_path = data_path + "/vulkan" plugins_path = data_path + "/plugins_v" + var("plugins_ver") libs_path = data_path + "/libs_v" + var("libs_ver") create_new_dir(dist_path, tmp_path, img_path, vulkan_path) log.info(f"рабочий каталог: {work_path}") log.info(f"принятые аргументы: {sys.argv[1:]}") if __name__ == "__main__": # TODO: реализовать все функции get_* в модуль downloader.py: if len(sys.argv) > 1: # Проверяем, что есть хотя бы один аргумент (кроме имени скрипта) match sys.argv[1]: # Игнорируем первый аргумент (имя скрипта) case "--get-wine": # без аргументов сохраняем список доступных в tmp_path/get_wine.tmp и выводим в терминал # если есть аргумент (например WINE_LG_10-1) то обновляем и парсим tmp_path/get_wine.tmp с последующим скачиванием get_sources(sys.argv[2:], tmp_path, dist_path) case "--get-dxvk": # без аргументов сохраняем список доступных в tmp_path/get_dxvk.tmp и выводим в терминал # если есть аргумент (например 2.5.3-31) то обновляем и парсим tmp_path/get_dxvk.tmp с последующим скачиванием get_dxvk(sys.argv[2:]) case "--get-vkd3d": # без аргументов сохраняем список доступных в tmp_path/get_dxvk.tmp и выводим в терминал # если есть аргумент (например 1.1-4367) то обновляем и парсим tmp_path/get_dxvk.tmp с последующим скачиванием get_vkd3d(sys.argv[2:]) case "--get-plugins": # версия плагинов будет захардкожена, парсить ничего не надо get_plugins(plugins_ver) case "--get-libs": # версия контейнера будет захардкожена, парсить ничего не надо get_libs(libs_ver) init_wine(dist_path)