pterodactyl_backup_downloader/src/oldRemover.py

34 lines
1.6 KiB
Python
Raw Normal View History

2024-06-21 07:05:28 +02:00
import os, datetime, shutil
2024-06-21 06:42:51 +02:00
from pathlib import Path
def folder_path_year_creator(date: datetime.datetime, default_path: str) -> str:
return f"{default_path}/{date.year}"
def folder_path_month_creator(date: datetime.datetime, default_path: str) -> str:
return f"{folder_path_year_creator(date=date, default_path=default_path)}/{date.month}"
def file_path_creator(date: datetime.datetime, default_path: str) -> str:
return f"{folder_path_month_creator(date=date, default_path=default_path)}/{date.day}.tar.gz"
def remove_old_files(today_date: datetime.datetime, keep_days: int, root_path: str):
older_date = today_date - datetime.timedelta(days=keep_days)
last_date = today_date - datetime.timedelta(days=keep_days)
2024-06-21 07:05:28 +02:00
while older_date > (datetime.datetime.now() - datetime.timedelta(days=10 + keep_days)):
2024-06-21 06:42:51 +02:00
older_date = older_date - datetime.timedelta(days=1)
if last_date.year > older_date.year and Path(folder_path_year_creator(date=older_date, default_path=root_path)).exists():
2024-06-21 07:05:28 +02:00
shutil.rmtree(folder_path_year_creator(date=older_date, default_path=root_path))
2024-06-21 06:42:51 +02:00
return
2024-06-21 06:47:36 +02:00
elif last_date.month > older_date.month and Path(folder_path_month_creator(date=older_date, default_path=root_path)).exists():
2024-06-21 07:05:28 +02:00
shutil.rmtree(folder_path_month_creator(date=older_date, default_path=root_path))
2024-06-21 06:42:51 +02:00
return
elif os.path.exists(file_path_creator(date=older_date, default_path=root_path)):
os.remove(file_path_creator(date=older_date, default_path=root_path))
2024-06-21 07:05:28 +02:00
last_date = datetime.datetime(year=older_date.year, month=older_date.month, day=older_date.day)
2024-06-21 06:42:51 +02:00