diff --git a/modules/env_var.py b/modules/env_var.py index 7f623c8..fb628fa 100755 --- a/modules/env_var.py +++ b/modules/env_var.py @@ -9,10 +9,16 @@ def print_env_var(var_name): else: log.warning(f"Переменная {var_name} не определена") -def check_and_set_env_var(var_name, default_value): +def set_env_var(var_name, default_value): if var_name not in os.environ or not os.environ[var_name]: os.environ[var_name] = default_value +def get_env_var(var_name): + if var_name in os.environ and os.environ[var_name]: + return os.environ[var_name] + else: + log.critical(f"Переменная {var_name} не определена") + def add_to_env_var(var_name, separator, value): if var_name not in os.environ: os.environ[var_name] = value diff --git a/portproton b/portproton new file mode 100755 index 0000000..9a9eb3b --- /dev/null +++ b/portproton @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +##### CHECK ROOT ##### +if [[ $(id -u) -eq 0 ]] ; then + echo "Перезапустите $0 от обычного пользователя!" + exit 1 +fi + +##### DEFAULT VARIABLES ##### +SCRIPT_NAME="$(basename "$0")" +if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then + USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME" + # чуть позже определимся с PYTHON_WORK_PATH, в зависимости от варианта обновления PP + PYTHON_WORK_PATH= +else + # для теста создаем и используем каталог test-portproton для исключения взаимодействия с текущей версией + USER_WORK_PATH="$HOME/test-$SCRIPT_NAME" + # используем всё из репозитория + PYTHON_WORK_PATH="$(dirname "$(realpath "$0")")" +fi +export USER_WORK_PATH PYTHON_WORK_PATH + +"$PYTHON_WORK_PATH/$SCRIPT_NAME.py" "$@" diff --git a/portproton.py b/portproton.py new file mode 100755 index 0000000..abf7c36 --- /dev/null +++ b/portproton.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +import sys + +from modules.log import * +from modules.env_var import * +from modules.files_worker import * +from modules.downloader import * + +work_path = get_env_var("USER_WORK_PATH") + +data_path = work_path + "/data" + +dist_path = data_path + "/dist" +tmp_path = data_path + "/tmp" +img_path = data_path + "/img" + +create_new_dir(dist_path) +create_new_dir(tmp_path) +create_new_dir(img_path) + +if __name__ == "__main__": + + if len(sys.argv) > 1: # Проверяем, что есть хотя бы один аргумент (кроме имени скрипта) + match sys.argv[1]: # Игнорируем первый аргумент (имя скрипта) + case "--get-wine": + # get_wine(sys.argv[2:]) + ... + + log.info(work_path) + + log.info(sys.argv[1:]) diff --git a/test.py b/test.py index a9ee8ad..e69de29 100755 --- a/test.py +++ b/test.py @@ -1,13 +0,0 @@ -#!/usr/bin/env python3 - -from modules.log import * -from modules.env_var import * -from modules.files_worker import * -from modules.downloader import * - -if __name__ == "__main__": - log.debug("Привет мир!") - log.info("Привет мир!") - log.warning("Привет мир!") - log.error("Привет мир!") - log.critical("Привет мир!") \ No newline at end of file