Добавлено логирование в файл
This commit is contained in:
46
main.py
46
main.py
@ -1,5 +1,6 @@
|
||||
import os
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import time
|
||||
|
||||
# from datetime import datetime
|
||||
@ -71,6 +72,31 @@ class BackupManager:
|
||||
# self.backup_folder = backup_folder / datetime.now().strftime("%Y-%m-%d")
|
||||
self.base_url = "https://www.1gb.ru/adm-alv5/"
|
||||
self.backup_url = f"{self.base_url}?u={account_id}#/c/b1"
|
||||
self._stdout_original = None
|
||||
self._log_file = None
|
||||
|
||||
def enable_output_log(self, log_path: str = "backup.log"):
|
||||
"""Duplicate all stdout to a log file."""
|
||||
if self._stdout_original is None:
|
||||
self._stdout_original = sys.stdout
|
||||
|
||||
if self._log_file is None:
|
||||
self._log_file = open(log_path, "a", encoding="utf-8", buffering=1)
|
||||
|
||||
class _Tee:
|
||||
def __init__(self, *streams):
|
||||
self._streams = streams
|
||||
|
||||
def write(self, data):
|
||||
for s in self._streams:
|
||||
s.write(data)
|
||||
return len(data)
|
||||
|
||||
def flush(self):
|
||||
for s in self._streams:
|
||||
s.flush()
|
||||
|
||||
sys.stdout = _Tee(self._stdout_original, self._log_file)
|
||||
|
||||
def start(self):
|
||||
self.pw = sync_playwright().start()
|
||||
@ -80,6 +106,12 @@ class BackupManager:
|
||||
self._login()
|
||||
|
||||
def stop(self):
|
||||
if self._stdout_original is not None:
|
||||
sys.stdout = self._stdout_original
|
||||
self._stdout_original = None
|
||||
if self._log_file is not None:
|
||||
self._log_file.close()
|
||||
self._log_file = None
|
||||
if self.browser:
|
||||
self.browser.close()
|
||||
if self.pw:
|
||||
@ -666,8 +698,6 @@ class BackupManager:
|
||||
self.page.wait_for_timeout(3000)
|
||||
self._refresh_backup_list()
|
||||
|
||||
# print("ПРОПУЩЕНО (удаление закомментировано)")
|
||||
|
||||
print("\n[OK] Готово")
|
||||
|
||||
|
||||
@ -675,10 +705,11 @@ class BackupManager:
|
||||
|
||||
if __name__ == "__main__":
|
||||
mgr = BackupManager(
|
||||
username="rav",
|
||||
password="KB3e8rbtQv",
|
||||
username="minzdravmo",
|
||||
password="KB3ZS7*sv6j4zYr@bPdeFWQN38rbtQv",
|
||||
account_id="564622",
|
||||
)
|
||||
mgr.enable_output_log("F:/test_folder/MyReports/backup.log")
|
||||
|
||||
try:
|
||||
mgr.start()
|
||||
@ -698,9 +729,8 @@ if __name__ == "__main__":
|
||||
)
|
||||
|
||||
# 3. Показать, что удаляем и удалить
|
||||
# mgr.print_deletion_plan(delete_count=1, year=2026)
|
||||
|
||||
# mgr.delete_old_backups(delete_count=1, year=2026)
|
||||
mgr.print_deletion_plan(delete_count=1, year=2026)
|
||||
mgr.delete_old_backups(delete_count=1, year=2026)
|
||||
|
||||
# Скачать только последний бэкап (без создания нового)
|
||||
# mgr.download_latest(save_dir="./backups")
|
||||
|
||||
Reference in New Issue
Block a user