From 01303234d6789e130c6a1c1bb649609b5884002a Mon Sep 17 00:00:00 2001 From: Vxrtrauter Date: Sat, 6 Sep 2025 01:00:12 +0200 Subject: [PATCH] Refactor GUI to utilize get_item_index for improved item selection and download handling --- core/scraping/uztracker_scraper.py | 17 ++++++++++++++++- core/ui/gui.py | 18 ++++-------------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/core/scraping/uztracker_scraper.py b/core/scraping/uztracker_scraper.py index 681dfbe..6ee9c04 100644 --- a/core/scraping/uztracker_scraper.py +++ b/core/scraping/uztracker_scraper.py @@ -1,12 +1,15 @@ import requests import asyncio from bs4 import BeautifulSoup +from ..downloading.download import start_client +from ..downloading.download import add_magnet global url_uztracker -global up url_uztracker = "https://uztracker.net/tracker.php?nm=" # placeholder url for now async def init_uztracker(): + global up + global soup try: response = requests.get(url_uztracker) # get da content from da url soup = BeautifulSoup(response.content, 'html.parser') # create bs object @@ -103,3 +106,15 @@ def get_magnet_link(post_url, debug): # and - if x exists, THEN check the next part # x.startswith('magnet:') - does x start with "magnet:"? + + +def get_item_index(item, list, listlinks, debug): + position = list.index(item) + if 0 <= position < len(listlinks): # note for myself: py starts counting at 0; check if number is not negative, check if number is not more than list length. + selected = "https://uztracker.net/" + listlinks[position].lstrip("./") + post_url = selected + if debug: + print("Selected URL: ", selected) + selected_magnet = get_magnet_link(selected, debug) + start_client() + add_magnet(selected_magnet) diff --git a/core/ui/gui.py b/core/ui/gui.py index ec67906..a498e31 100644 --- a/core/ui/gui.py +++ b/core/ui/gui.py @@ -4,9 +4,8 @@ from PySide6.QtWidgets import QLineEdit, QPushButton, QWidget, QVBoxLayout, QLis from PySide6.QtGui import QIcon, QAction import darkdetect from core.scraping.uztracker_scraper import scrape_uztracker -from core.scraping.uztracker_scraper import get_magnet_link -from core.downloading.download import start_client -from core.downloading.download import add_magnet +from core.scraping.uztracker_scraper import get_item_index + def state_debug(setting): @@ -106,7 +105,7 @@ class MainWindow(QtWidgets.QMainWindow, QWidget): if item is not None: if debug: print(f"Downloading {self.softwareList.currentItem().text()}") - self.get_item_index(self.softwareList.currentItem().text(), self.postnames, self.postlinks) + get_item_index(self.softwareList.currentItem().text(), self.postnames, self.postlinks, debug) else: if debug: print("No item selected for download.") @@ -131,13 +130,4 @@ class MainWindow(QtWidgets.QMainWindow, QWidget): print("User searched for:", search_text) - def get_item_index(self, item, list, listlinks): - position = list.index(item) - if 0 <= position < len(listlinks): # note for myself: py starts counting at 0; check if number is not negative, check if number is not more than list length. - selected = "https://uztracker.net/" + listlinks[position].lstrip("./") - post_url = selected - if debug: - print("Selected URL: ", selected) - selected_magnet = get_magnet_link(selected, debug) - start_client() - add_magnet(selected_magnet) +