Compare commits

..

6 Commits

7 changed files with 24 additions and 40 deletions
+1 -3
View File
@@ -2,7 +2,6 @@ import requests
from core.utils.data.state import state from core.utils.data.state import state
from core.utils.logging.logs import consoleLog from core.utils.logging.logs import consoleLog
def scrape_rutracker(query): def scrape_rutracker(query):
search = requests.get(f"{state.api_url}/search?q={query}") search = requests.get(f"{state.api_url}/search?q={query}")
consoleLog("Sent request to server") consoleLog("Sent request to server")
@@ -12,10 +11,9 @@ def scrape_rutracker(query):
except Exception: except Exception:
consoleLog("No results found / No response from server") consoleLog("No results found / No response from server")
return None return None
else: else:
return None return None
# This function utilizes the SoftwareManager server - source code can be found under the "server" branch. # This function utilizes the SoftwareManager server - source code can be found under the SoftwareManager-Server repository.
+5 -13
View File
@@ -1,10 +1,7 @@
import requests import requests
import threading
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from urllib.parse import urljoin from urllib.parse import urljoin
from core.utils.data.state import state
from core.utils.logging.logs import consoleLog from core.utils.logging.logs import consoleLog
from core.utils.general.wrappers import run_thread
def scrape_uztracker(query): def scrape_uztracker(query):
base_url="https://uztracker.net/" base_url="https://uztracker.net/"
@@ -16,14 +13,13 @@ def scrape_uztracker(query):
response = requests.get(search_url) response = requests.get(search_url)
response.raise_for_status() response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser') soup = BeautifulSoup(response.text, 'html.parser')
links = soup.find_all('a', class_="genmed tLink", href=lambda x: x and x.startswith('./viewtopic')) links = soup.find_all('tr', class_="tCenter hl-tr", id=lambda x: x and x.startswith('tor_'))
for link in links: for link in links:
if link.b:
title = link.b.text
url = urljoin(base_url, link['href'])
author_link = link.find_parent('td').find('a', class_="med ts-text") theme_link = link.find('a', class_="genmed tLink", href=lambda x: x and x.startswith('./viewtopic'))
url = urljoin(base_url, theme_link['href'])
title = theme_link.b.text
author_link = link.find('a', class_="med")
author = author_link.text.strip() if author_link else "Unknown" author = author_link.text.strip() if author_link else "Unknown"
posts.append(dict( posts.append(dict(
@@ -35,9 +31,5 @@ def scrape_uztracker(query):
return posts return posts
except requests.RequestException as e: except requests.RequestException as e:
if posts:
consoleLog(f"Failed to fetch {search_url}: {e}") consoleLog(f"Failed to fetch {search_url}: {e}")
return None return None
+5 -5
View File
@@ -157,7 +157,7 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
header = table.horizontalHeader() header = table.horizontalHeader()
header.setSectionResizeMode(0, QHeaderView.ResizeMode.Stretch) header.setSectionResizeMode(0, QHeaderView.ResizeMode.Stretch)
header.setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) header.setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed)
header.resizeSection(1, 200) header.resizeSection(1, 500)
header.setStretchLastSection(False) header.setStretchLastSection(False)
return table return table
@@ -513,12 +513,12 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
event.accept() event.accept()
def set_tracker(self, _): def set_tracker(self, _):
old_tracker = state.tracker
state.tracker = self.tracker_list.currentText() state.tracker = self.tracker_list.currentText()
while self.horizontal_layout.count(): old_widget = state.tracker_list[old_tracker]
item = self.horizontal_layout.takeAt(0) self.horizontal_layout.removeWidget(old_widget)
if item.widget(): old_widget.setParent(None)
item.widget().setParent(None)
tracker_widget = state.tracker_list[state.tracker] tracker_widget = state.tracker_list[state.tracker]
self.horizontal_layout.addWidget(tracker_widget) self.horizontal_layout.addWidget(tracker_widget)
+1 -1
View File
@@ -8,7 +8,7 @@ class AppState(QObject):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
self.posts: List[Dict[str, Any]] = [] self.posts: list[Any] | None = None
self.post_titles: Optional[List] = None self.post_titles: Optional[List] = None
self.post_urls: Optional[List] = None self.post_urls: Optional[List] = None
self.post_author: List[str] = [] self.post_author: List[str] = []
-6
View File
@@ -1,12 +1,9 @@
from core.utils.data.state import state
from core.utils.logging.logs import consoleLog from core.utils.logging.logs import consoleLog
from core.utils.data.tracker import get_item_url from core.utils.data.tracker import get_item_url
from core.utils.data.tracker import get_magnet_link from core.utils.data.tracker import get_magnet_link
from core.network.libtorrent_wrapper import add_download from core.network.libtorrent_wrapper import add_download
from core.utils.general.wrappers import run_thread from core.utils.general.wrappers import run_thread
from core.utils.logging.logs import add_download_log from core.utils.logging.logs import add_download_log
import time
import threading import threading
@@ -27,6 +24,3 @@ def run_download(item, posts, post_titles):
def run_download_direct(magnet_uri): def run_download_direct(magnet_uri):
add_download(magnet_uri) add_download(magnet_uri)