Fix: Preserve .session files when resetting cache directory
Browse files- utils/extra.py +16 -1
utils/extra.py
CHANGED
|
@@ -62,11 +62,26 @@ import shutil
|
|
| 62 |
def reset_cache_dir():
|
| 63 |
cache_dir = Path("./cache")
|
| 64 |
downloads_dir = Path("./downloads")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
shutil.rmtree(cache_dir, ignore_errors=True)
|
| 66 |
shutil.rmtree(downloads_dir, ignore_errors=True)
|
| 67 |
cache_dir.mkdir(parents=True, exist_ok=True)
|
| 68 |
downloads_dir.mkdir(parents=True, exist_ok=True)
|
| 69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
|
| 71 |
|
| 72 |
def parse_content_disposition(content_disposition):
|
|
|
|
| 62 |
def reset_cache_dir():
|
| 63 |
cache_dir = Path("./cache")
|
| 64 |
downloads_dir = Path("./downloads")
|
| 65 |
+
|
| 66 |
+
# Save session files before deleting cache
|
| 67 |
+
session_files = {}
|
| 68 |
+
if cache_dir.exists():
|
| 69 |
+
for session_file in cache_dir.glob("*.session"):
|
| 70 |
+
session_files[session_file.name] = session_file.read_bytes()
|
| 71 |
+
logger.info(f"Preserving session file: {session_file.name}")
|
| 72 |
+
|
| 73 |
+
# Delete cache and downloads directories
|
| 74 |
shutil.rmtree(cache_dir, ignore_errors=True)
|
| 75 |
shutil.rmtree(downloads_dir, ignore_errors=True)
|
| 76 |
cache_dir.mkdir(parents=True, exist_ok=True)
|
| 77 |
downloads_dir.mkdir(parents=True, exist_ok=True)
|
| 78 |
+
|
| 79 |
+
# Restore session files
|
| 80 |
+
for session_name, session_data in session_files.items():
|
| 81 |
+
(cache_dir / session_name).write_bytes(session_data)
|
| 82 |
+
logger.info(f"Restored session file: {session_name}")
|
| 83 |
+
|
| 84 |
+
logger.info("Cache and downloads directory reset (session files preserved)")
|
| 85 |
|
| 86 |
|
| 87 |
def parse_content_disposition(content_disposition):
|