34 lines
1.5 KiB
Python
34 lines
1.5 KiB
Python
|
import os, datetime
|
||
|
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)
|
||
|
|
||
|
while older_date > (older_date - datetime.timedelta(days=10)):
|
||
|
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():
|
||
|
Path(folder_path_year_creator(date=older_date, default_path=root_path)).rmdir()
|
||
|
return
|
||
|
elif last_date.month > older_date.month and Path(folder_path_month_creator(date=older_date, default_path=root_path())).exists():
|
||
|
Path(folder_path_month_creator(date=older_date, default_path=root_path)).rmdir()
|
||
|
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))
|
||
|
|
||
|
last_date = older_date
|
||
|
|
||
|
|