From 69ac739be65e0f9cae8002b640281bfed034add2 Mon Sep 17 00:00:00 2001 From: Vxrtrauter Date: Thu, 16 Oct 2025 15:36:10 +0200 Subject: [PATCH 1/4] add debug arg --- main.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index 1e0baad..eb75bb9 100644 --- a/main.py +++ b/main.py @@ -10,11 +10,14 @@ import qdarktheme import darkdetect import threading import signal -import atexit +import argparse import sys -# Debug Output -state.debug = True + + +parser = argparse.ArgumentParser() +parser.add_argument("--debug", action="store_true") +args = parser.parse_args() def run_gui(): @@ -36,6 +39,7 @@ def keyboardinterrupthandler(signum, frame): if __name__ == "__main__": read_config() + state.debug = args.debug # override of read_config if state.debug: print("Starting Aria2 Server") state.aria2process = run_aria2server() From 3f6889da5604a0c820ef37085bf0d4f244138934 Mon Sep 17 00:00:00 2001 From: Vxrtrauter Date: Thu, 16 Oct 2025 15:40:43 +0200 Subject: [PATCH 2/4] improve debug messages --- core/data/scrapers/rutracker.py | 2 ++ core/data/scrapers/uztracker.py | 18 +++++++++++------- core/interface/dialogs/settings.py | 1 - 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/core/data/scrapers/rutracker.py b/core/data/scrapers/rutracker.py index 84e702f..5baf263 100644 --- a/core/data/scrapers/rutracker.py +++ b/core/data/scrapers/rutracker.py @@ -4,6 +4,8 @@ from core.utils.data.state import state def scrape_rutracker(search_text): search = requests.get(f"{state.api_url}/search/{search_text}") + if state.debug: + print("Sent request to server") if search: try: return search.text diff --git a/core/data/scrapers/uztracker.py b/core/data/scrapers/uztracker.py index 00cf00f..c7aa4e0 100644 --- a/core/data/scrapers/uztracker.py +++ b/core/data/scrapers/uztracker.py @@ -17,11 +17,13 @@ async def init_uztracker(): up = True else: up = False - print(f"Uztracker seems down, status code: {response.status_code}") + if state.debug: + print(f"Uztracker seems down, status code: {response.status_code}") except requests.exceptions.RequestException as e: - print(f"\nRequest Exception on {url_uztracker}:") - print(e) - print("\nIs the Site down?") + if state.debug: + print(f"\nRequest Exception on {url_uztracker}:") + print(e) + print("\nIs the Site down?") up = False asyncio.run(init_uztracker()) @@ -61,12 +63,13 @@ async def scrape_uztracker(search, max_results=450): break except aiohttp.ClientError as e: - if result: + if result and state.debug: print(f"Failed to fetch {search_url}: {e}") return None else: - print("Error: Uztracker down") + if state.debug: + print("Error: Uztracker down") return None, None if not results: @@ -85,7 +88,8 @@ def get_post_title(post_url): if state.debug: print("Program not found") else: - print("Error: Uztracker down") + if state.debug: + print("Error: Uztracker down") return None diff --git a/core/interface/dialogs/settings.py b/core/interface/dialogs/settings.py index fb16321..cba35fc 100644 --- a/core/interface/dialogs/settings.py +++ b/core/interface/dialogs/settings.py @@ -114,7 +114,6 @@ def settings_dialog(self): save_btn.clicked.connect(lambda: save_settings(thread_box.value(), close_settings, api_url.text(), download_path.text(), speed_limit.value())) cancel_btn.clicked.connect(dialog.reject) - print(thread_box.value()) layout.addWidget(cancel_btn) layout.addWidget(save_btn) From 999c8e9ba4e8bb086e4d24bfcc047caad1fd25ab Mon Sep 17 00:00:00 2001 From: Vxrtrauter Date: Thu, 16 Oct 2025 15:49:00 +0200 Subject: [PATCH 3/4] improved debug output --- core/network/aria2_wrapper.py | 5 +++++ core/utils/data/tracker.py | 9 ++++++++- core/utils/general/shutdown.py | 2 +- core/utils/network/download.py | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/core/network/aria2_wrapper.py b/core/network/aria2_wrapper.py index c3be92c..9bf5d8b 100644 --- a/core/network/aria2_wrapper.py +++ b/core/network/aria2_wrapper.py @@ -1,11 +1,16 @@ from .aria2_integration import run_aria2p +from core.utils.data.state import state def start_client(): global aria2 aria2 = run_aria2p() + if state.debug: + print("Started Aria2p") def add_magnet(uri): aria2.add_magnet(uri) + if state.debug: + print("Magnet URI added to Aria2") diff --git a/core/utils/data/tracker.py b/core/utils/data/tracker.py index 27e7f27..dbd5090 100644 --- a/core/utils/data/tracker.py +++ b/core/utils/data/tracker.py @@ -5,16 +5,21 @@ from core.utils.network.jsonhandler import format_data -def get_item_url(item, posts, post_titles): # oftwarelist currentitem, post list (dict), post titles list +def get_item_url(item, posts, post_titles): # softwarelist currentitem, post list (dict), post titles list post_index = post_titles.index(item) if 0 <= post_index < len(post_titles): if state.tracker == "uztracker": item = "https://uztracker.net/" + state.post_urls[post_index].lstrip("./") + if state.debug: + print("Found post URL: ", item) return item if state.tracker == "rutracker": item_dict = posts[post_index] _, post_links, _ = format_data([item_dict]) + if state.debug: + print("Found post URL: ", post_links[0]) return post_links[0] + return None @@ -22,6 +27,8 @@ def get_item_url(item, posts, post_titles): # oftwarelist currentitem, post list def get_magnet_link(post_url): try: response = requests.get(post_url) # eventually impl. cloudscraper + if state.debug: + print("Sent Request to retrieve Magnet Link...") response.raise_for_status() soup = BeautifulSoup(response.text, 'html.parser') magnet_link = soup.find('a', href=lambda x: x and x.startswith('magnet:')) diff --git a/core/utils/general/shutdown.py b/core/utils/general/shutdown.py index 38bf9fe..7642e4f 100644 --- a/core/utils/general/shutdown.py +++ b/core/utils/general/shutdown.py @@ -22,7 +22,7 @@ def kill_aria2server(): if proc.name() == process: proc.kill() if state.debug: - print("Killed Aria2c") + print(f"Killed Aria2c (PID {proc.pid})") except psutil.NoSuchProcess: pass diff --git a/core/utils/network/download.py b/core/utils/network/download.py index 9c6f719..dbf7ef5 100644 --- a/core/utils/network/download.py +++ b/core/utils/network/download.py @@ -10,7 +10,7 @@ import threading def download_selected(item, posts, post_titles): if item is not None: if state.debug: - print(f"network {item.text()}") + print(f"Downloading {item.text()}") run_thread(threading.Thread(target=run_download, args=(item.text(), posts, post_titles))) else: From 719c4e86e81a8f63a07c5f510611829827a40a34 Mon Sep 17 00:00:00 2001 From: Vxrtrauter Date: Thu, 16 Oct 2025 15:53:05 +0200 Subject: [PATCH 4/4] improved cache debug --- core/interface/utils/searchhelper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/interface/utils/searchhelper.py b/core/interface/utils/searchhelper.py index 73e2754..936f255 100644 --- a/core/interface/utils/searchhelper.py +++ b/core/interface/utils/searchhelper.py @@ -38,5 +38,5 @@ def return_pressed(self): self.softwareList.clear() self.softwareList.addItems(state.post_titles) if state.debug == True: - print(f"Cached: {cached}") + print(f"Response Cached: {cached}")