mirror of
https://github.com/KeksPirates/SoftwareManager.git
synced 2026-08-03 17:39:42 +02:00
feat: add download existence checks and improve log removal feedback
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
from core.utils.logging.logs import consoleLog
|
from core.utils.logging.logs import consoleLog, remove_download_log
|
||||||
from core.utils.network.download import run_download_direct
|
from core.utils.network.download import run_download_direct
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
def split_data(data):
|
def split_data(data):
|
||||||
|
|
||||||
count = data.count
|
count = data.count
|
||||||
@@ -16,6 +18,11 @@ def check_completed(downloads, resume):
|
|||||||
run_download_direct(download.magnet_uri)
|
run_download_direct(download.magnet_uri)
|
||||||
consoleLog(f"Resuming {download.title}")
|
consoleLog(f"Resuming {download.title}")
|
||||||
|
|
||||||
|
def check_downloads(downloads):
|
||||||
|
for download in downloads:
|
||||||
|
if os.path.exists(download.path):
|
||||||
|
consoleLog(f"Existing Download: {download.title}")
|
||||||
|
else:
|
||||||
|
consoleLog(f"Inexistent Download: {download.title}")
|
||||||
|
remove_download_log(download.magnet_uri)
|
||||||
|
|
||||||
@@ -77,10 +77,12 @@ def remove_download_log(magnet_uri) -> DownloadList:
|
|||||||
else:
|
else:
|
||||||
downloads = []
|
downloads = []
|
||||||
|
|
||||||
|
|
||||||
magnet_link = (magnet_uri or "").strip()
|
magnet_link = (magnet_uri or "").strip()
|
||||||
|
title = next((getattr(d, 'title', 'Unknown') for d in downloads if (getattr(d, 'magnet_uri', None) or '').strip() == magnet_link or (getattr(d, 'url', None) or '').strip() == magnet_link))
|
||||||
downloads = [d for d in downloads if (getattr(d, 'magnet_uri', None) or "").strip() != magnet_link and (getattr(d, 'url', None) or "").strip() != magnet_link]
|
downloads = [d for d in downloads if (getattr(d, 'magnet_uri', None) or "").strip() != magnet_link and (getattr(d, 'url', None) or "").strip() != magnet_link]
|
||||||
|
|
||||||
consoleLog(f"Removed {magnet_link} from Log File")
|
consoleLog(f"Removed {title} from Log File")
|
||||||
|
|
||||||
download_list = DownloadList(data=downloads, count=len(downloads))
|
download_list = DownloadList(data=downloads, count=len(downloads))
|
||||||
with open(downloads_file, "w") as file:
|
with open(downloads_file, "w") as file:
|
||||||
|
|||||||
+2
-1
@@ -5,7 +5,7 @@ from core.network.libtorrent_misc import send_notification, update_log
|
|||||||
from core.utils.logging.logs import get_download_logs
|
from core.utils.logging.logs import get_download_logs
|
||||||
from core.utils.general.shutdown import closehelper, shutdown_event
|
from core.utils.general.shutdown import closehelper, shutdown_event
|
||||||
from core.utils.general.wrappers import run_thread
|
from core.utils.general.wrappers import run_thread
|
||||||
from core.utils.logging.loghandler import split_data, check_completed
|
from core.utils.logging.loghandler import split_data, check_completed, check_downloads
|
||||||
from core.network.interface import list_interfaces, init_interfaces
|
from core.network.interface import list_interfaces, init_interfaces
|
||||||
from core.utils.config.config import read_config
|
from core.utils.config.config import read_config
|
||||||
from PySide6 import QtWidgets
|
from PySide6 import QtWidgets
|
||||||
@@ -60,6 +60,7 @@ if __name__ == "__main__":
|
|||||||
consoleLog("Started Thread: update_log")
|
consoleLog("Started Thread: update_log")
|
||||||
run_thread(threading.Thread(target=check_completed, args=(downloads, state.autoresume)))
|
run_thread(threading.Thread(target=check_completed, args=(downloads, state.autoresume)))
|
||||||
consoleLog("Started Thread: check_completed")
|
consoleLog("Started Thread: check_completed")
|
||||||
|
check_downloads(downloads)
|
||||||
elapsed = time.perf_counter() - start_time
|
elapsed = time.perf_counter() - start_time
|
||||||
consoleLog(f"Initialization completed in {elapsed:.2f}s. Launching GUI")
|
consoleLog(f"Initialization completed in {elapsed:.2f}s. Launching GUI")
|
||||||
run_gui()
|
run_gui()
|
||||||
|
|||||||
Reference in New Issue
Block a user