PortProton_2.0/portproton.py
2025-03-07 02:47:11 +03:00

55 lines
2.8 KiB
Python
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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)
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)
log.info(work_path)
log.info(sys.argv[1:])
init_wine(dist_path)