From a43406030b5ce6f391f517e00c86a32b85ecd67e Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Wed, 5 Mar 2025 00:02:48 +0300 Subject: [PATCH 1/3] added get_env_var --- modules/env_var.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 From e2d3b0218ddcf65c483c3c276ec70d6a25383eb0 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Wed, 5 Mar 2025 01:12:00 +0300 Subject: [PATCH 2/3] added run script --- portproton | 20 ++++++++++++++++++++ test.py => portproton.py | 7 ++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100755 portproton rename test.py => portproton.py (54%) diff --git a/portproton b/portproton new file mode 100755 index 0000000..81fe82c --- /dev/null +++ b/portproton @@ -0,0 +1,20 @@ +#!/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 + WORK_PATH="$HOME/.local/share/$SCRIPT_NAME" + DATA_PATH="/usr/share/$SCRIPT_NAME" +else + WORK_PATH="$HOME/test-$SCRIPT_NAME" + DATA_PATH="$(dirname "$(realpath "$0")")" +fi +export WORK_PATH DATA_PATH + +"$DATA_PATH/$SCRIPT_NAME.py" "$@" diff --git a/test.py b/portproton.py similarity index 54% rename from test.py rename to portproton.py index 38810bf..5bc2ed2 100755 --- a/test.py +++ b/portproton.py @@ -5,6 +5,11 @@ from modules.env_var import * from modules.files_worker import * from modules.downloader import * +data_path = get_env_var("DATA_PATH") +work_path = get_env_var("WORK_PATH") + if __name__ == "__main__": - log.info("Привет мир!") + log.info(data_path) + log.info(work_path) + log.info(sys.argv[1:]) \ No newline at end of file From 924733b91d474b744c7b7fb83988831ca28f7e17 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Wed, 5 Mar 2025 17:08:59 +0300 Subject: [PATCH 3/3] =?UTF-8?q?updated=20script,=20=D0=B0nd=20added=20base?= =?UTF-8?q?=20env?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- portproton | 15 +++++++++------ portproton.py | 24 ++++++++++++++++++++---- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/portproton b/portproton index 81fe82c..9a9eb3b 100755 --- a/portproton +++ b/portproton @@ -9,12 +9,15 @@ fi ##### DEFAULT VARIABLES ##### SCRIPT_NAME="$(basename "$0")" if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then - WORK_PATH="$HOME/.local/share/$SCRIPT_NAME" - DATA_PATH="/usr/share/$SCRIPT_NAME" + USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME" + # чуть позже определимся с PYTHON_WORK_PATH, в зависимости от варианта обновления PP + PYTHON_WORK_PATH= else - WORK_PATH="$HOME/test-$SCRIPT_NAME" - DATA_PATH="$(dirname "$(realpath "$0")")" + # для теста создаем и используем каталог test-portproton для исключения взаимодействия с текущей версией + USER_WORK_PATH="$HOME/test-$SCRIPT_NAME" + # используем всё из репозитория + PYTHON_WORK_PATH="$(dirname "$(realpath "$0")")" fi -export WORK_PATH DATA_PATH +export USER_WORK_PATH PYTHON_WORK_PATH -"$DATA_PATH/$SCRIPT_NAME.py" "$@" +"$PYTHON_WORK_PATH/$SCRIPT_NAME.py" "$@" diff --git a/portproton.py b/portproton.py index 5bc2ed2..abf7c36 100755 --- a/portproton.py +++ b/portproton.py @@ -1,15 +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 * -data_path = get_env_var("DATA_PATH") -work_path = get_env_var("WORK_PATH") +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__": - log.info(data_path) + 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:]) \ No newline at end of file + + log.info(sys.argv[1:])