diff --git a/core/utils/general/logs.py b/core/utils/general/logs.py index c9d1dc0..724a236 100644 --- a/core/utils/general/logs.py +++ b/core/utils/general/logs.py @@ -29,4 +29,19 @@ def add_download_log(title, url, magnet_uri, completed) -> DownloadList: with open(downloads_file, "w") as file: json.dump(asdict(download_list), file, indent=4) - return download_list \ No newline at end of file + return download_list + +def get_download_logs() -> DownloadList: + downloads_file = os.path.join(state.settings_path, "downloads.json") + + if os.path.exists(downloads_file) and os.path.getsize(downloads_file) > 0: + try: + with open(downloads_file, "r") as file: + existing_data = json.load(file) + downloads = [Download(**d) for d in existing_data.get("data", [])] + except json.JSONDecodeError: + downloads = [] + else: + downloads = [] + + return DownloadList(data=downloads, count=len(downloads)) \ No newline at end of file diff --git a/core/utils/network/download.py b/core/utils/network/download.py index 9332b2a..1e5dc17 100644 --- a/core/utils/network/download.py +++ b/core/utils/network/download.py @@ -4,6 +4,8 @@ from core.utils.data.tracker import get_magnet_link from core.network.aria2_wrapper import start_client from core.network.aria2_wrapper import add_magnet from core.utils.general.wrappers import run_thread +from core.utils.general.logs import add_download_log + import threading @@ -22,6 +24,7 @@ def run_download(item, posts, post_titles): print("Selected URL: ", post_url) magnet_uri = get_magnet_link(post_url) start_client() + add_download_log(item, post_url, magnet_uri, False) add_magnet(magnet_uri) diff --git a/main.py b/main.py index baab2d4..9ca1363 100644 --- a/main.py +++ b/main.py @@ -5,6 +5,7 @@ from core.network.aria2_integration import send_notification from core.utils.general.shutdown import closehelper, shutdown_event from core.utils.general.wrappers import run_thread from core.utils.config.config import read_config +from core.utils.general.logs import get_download_logs from PySide6 import QtWidgets import qdarktheme import darkdetect @@ -37,7 +38,8 @@ def keyboardinterrupthandler(signum, frame): if __name__ == "__main__": read_config() - state.debug = args.debug # override of read_config + if args.debug: + state.debug = args.debug # override of read_config if state.debug: print("Starting Aria2 Server") state.aria2process = run_aria2server()