-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclean.py
More file actions
executable file
·50 lines (38 loc) · 1.6 KB
/
clean.py
File metadata and controls
executable file
·50 lines (38 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import os, logging, datetime, subprocess
logging.basicConfig(
filename='clean.log',
format='%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(message)s',
level=logging.INFO
)
logger=logging.getLogger(__name__)
BASE_PATH = os.path.dirname(__file__)
DOWNLOADER_PATH = os.path.join(BASE_PATH, "downloader")
STORE_PATH = os.path.join(DOWNLOADER_PATH, 'temp')
LITRES_PATH = os.path.join(DOWNLOADER_PATH, 'LitresCache')
def clear_temp_folder():
del_time = datetime.datetime.now() - datetime.timedelta(minutes=180)
logger.warning(f'Очистка директории скачивания {del_time}')
del_time = del_time.timestamp()
folders = os.listdir(STORE_PATH)
for folder in folders:
_f = os.path.join(STORE_PATH, folder)
if os.path.isdir(_f):
stats = os.stat(_f)
if stats.st_mtime < del_time:
logger.warning(f'Удаляем папку {folder}')
q = subprocess.run(["rm", "-rf", _f])
return
def clear_litres_folder():
del_time = datetime.datetime.now() - datetime.timedelta(minutes=60)
logger.warning(f'Очистка директории токенов Litres {del_time}')
del_time = del_time.timestamp()
tokens = os.listdir(LITRES_PATH)
for token in tokens:
_t = os.path.join(LITRES_PATH, token)
stats = os.stat(_t)
if stats.st_mtime < del_time:
logger.warning(f'Удаляем токен {token}')
q = subprocess.run(["rm", "-f", _t])
return
clear_temp_folder()
clear_litres_folder()