updated logger and TODO-shki

This commit is contained in:
Mikhail Tergoev
2025-03-11 19:48:44 +03:00
parent ae36b3bddd
commit cf495ecbc0
10 changed files with 163 additions and 35 deletions

View File

@ -1,5 +1,5 @@
import json
from .log import *
from .logger import *
from .env_var import *
def var(var_name):

View File

@ -1,7 +1,7 @@
import os
import requests
from tqdm import tqdm
from .log import *
from .logger import *
from .files_worker import *
def try_download(url, save_path=None):
@ -16,6 +16,10 @@ def try_download(url, save_path=None):
response = requests.get(url, stream=True)
response.raise_for_status() # Проверяем, что запрос успешен
# TODO: добавить проверку хэш-суммы из ссылки на файл
# TODO: резерв места
# TODO: проверка и докачка 3 попытки
# Определяем имя файла, если save_path не указан, или путь это директория
if save_path is None:
save_path = tmp_path + "/" + os.path.basename(url)

View File

@ -1,5 +1,5 @@
import os
from .log import *
from .logger import *
# функции обработки переменных LINUX окружения
def print_env_var(*var_name):
@ -20,6 +20,8 @@ def set_env_var_force(var_name, value):
def get_env_var(var_name):
if var_name in os.environ and os.environ[var_name]:
return os.environ[var_name]
elif var_name == "DEBUG":
...
else:
log.critical(f"Переменная {var_name} не определена")

View File

@ -7,7 +7,7 @@ import tempfile
from .env_var import *
from .config_parser import *
from .log import *
from .logger import *
# константы:
tmp_path = tempfile.gettempdir() + "/portproton"
@ -139,6 +139,8 @@ def unpack(archive_path, extract_to=None):
elif not os.path.isdir(extract_to):
create_new_dir(extract_to)
log.info(f"unpacking file: {archive_path}")
# TODO: резерв места
with tarfile.open(archive_path, mode="r:*") as tar:
tar.extractall(path=extract_to)
full_path = os.path.realpath(extract_to)

View File

@ -2,7 +2,7 @@ import os
import shutil
import subprocess
from .log import *
from .logger import *
from .env_var import *
from .files_worker import *
from .config_parser import *

View File

@ -22,7 +22,7 @@ class ColoredFormatter(logging.Formatter):
log = logging.getLogger() # Настраиваем логирование
def set_logging_level(level_string):
def set_logging_level(level_string="INFO"):
levels = {
'DEBUG': logging.DEBUG,
'INFO': logging.INFO,
@ -36,15 +36,11 @@ def set_logging_level(level_string):
print(f"Неизвестный уровень логирования: {level_string}. Устанавливается уровень WARNING.")
return level
log_level_input = 'DEBUG' # Задаем уровень логирования через функцию
log.setLevel(set_logging_level(log_level_input))
handler = logging.StreamHandler() # Создаем консольный обработчик
handler.setFormatter(ColoredFormatter('%(levelname)s: %(message)s'))
# TODO: добавить условие для управления переменой пути сохранения лога
log_file_path = 'app.log' # Это может быть переменная, установленная пользователем
log_file_path = 'portproton.log' # Это может быть переменная, установленная пользователем
file_handler = logging.FileHandler(log_file_path) # Создаем файловый обработчик
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s: %(message)s'))

View File

@ -86,7 +86,7 @@ def source_list_downloader(source, short_name, output_file, use_github=True):
except requests.exceptions.RequestException as e:
log.error(f"Ошибка при получении данных из {source}: {str(e)}")
def get_sources(args, mirror):
def get_sources(args, mirror=True):
os.makedirs(tmp_path, exist_ok=True)
source_list_checker()