Merge remote-tracking branch 'origin/main'

# Conflicts:
#	test.py
This commit is contained in:
commit c84d8ac7d1
4 changed files with 61 additions and 14 deletions

@ -9,10 +9,16 @@ def print_env_var(var_name):
else: else:
log.warning(f"Переменная {var_name} не определена") 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]: if var_name not in os.environ or not os.environ[var_name]:
os.environ[var_name] = default_value 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): def add_to_env_var(var_name, separator, value):
if var_name not in os.environ: if var_name not in os.environ:
os.environ[var_name] = value os.environ[var_name] = value

23
portproton Executable file

@ -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" "$@"

31
portproton.py Executable file

@ -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:])

13
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("Привет мир!")