Merge pull request #81 from KeksPirates/fix/steamrip-scraper-crash

(bug)fix: steamrip scraper freezing whole manager on second search and update notification
This commit is contained in:
shayaa
2026-04-10 19:27:14 +02:00
committed by GitHub
3 changed files with 14 additions and 7 deletions
+4
View File
@@ -17,12 +17,16 @@ def show_megadb_notification():
text="Beware of malicious Ads. Make sure to have an adblocker installed.\n" '<br><a href="https://ublockorigin.com">Visit uBlock Origin</a>',
darkmode=False if state.window_transparency else True
)
notification_popup.setTextFormat(Qt.TextFormat.RichText)
notification_popup.setTextInteractionFlags(Qt.TextInteractionFlag.TextBrowserInteraction)
if state.window_transparency is True:
notification_popup.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
button = notification_popup.addButton("Don't show again", QMessageBox.ButtonRole.AcceptRole)
button.clicked.connect(lambda: setattr(state, "show_megadb_notification", False))
save_settings(show_megadb_notification=state.show_megadb_notification)
notification_popup.exec()
+5 -6
View File
@@ -9,23 +9,22 @@ import webbrowser
import requests
import time
import re
import copy
class SteamripScraper:
name = "steamrip"
headers = ["Game"]
is_magnet = False
def __init__(self):
self.cache = { "data": [], "last_fetched": 0 }
self.cache_expiry = 300
def scrape_steamrip_links(self):
current_time = time.time()
if self.cache["data"] != [] and (current_time - self.cache["last_fetched"] < self.cache_expiry):
return self.cache["data"]
if self.cache["data"] and (current_time - self.cache["last_fetched"] < self.cache_expiry):
return copy.deepcopy(self.cache["data"])
try:
url = f"https://steamrip.com/games-list-page/"
@@ -71,7 +70,7 @@ class SteamripScraper:
soup = BeautifulSoup(response.text, "html.parser")
download_link_elements = soup.find_all("a",class_="shortc-button")
download_links = ["buzzheavier", "gofile", "vikingfile", "megadb"]
download_links = ["", "", "", ""]
for download_link in download_link_elements:
pure = download_link.attrs.get("href")
@@ -89,7 +88,7 @@ class SteamripScraper:
ret = []
for link in download_links:
if len(link) != 1:
if link != "":
ret.append(link)
return ret
+5 -1
View File
@@ -1,4 +1,5 @@
from PySide6.QtWidgets import QMessageBox
from utils.data.state import state
import qdarktheme
class NotificationPopup(QMessageBox):
@@ -6,7 +7,10 @@ class NotificationPopup(QMessageBox):
super().__init__(parent)
if darkmode is True:
qdarktheme.setup_theme("auto")
custom_colors = {}
if state.accent_color:
custom_colors["primary"] = state.accent_color
qdarktheme.setup_theme("auto", custom_colors=custom_colors if custom_colors else None)
self.setIcon(QMessageBox.Icon.Information)
self.setWindowTitle(title)