From 7d600f8d3469fbd2206c976e7955bc64a57743e3 Mon Sep 17 00:00:00 2001 From: Dummerle <44114474+Dummerle@users.noreply.github.com> Date: Sun, 12 Dec 2021 00:25:21 +0100 Subject: [PATCH] Do not create a worker for every request --- rare/components/dialogs/launch_dialog.py | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/rare/components/dialogs/launch_dialog.py b/rare/components/dialogs/launch_dialog.py index 97391e90..dbd8cd11 100644 --- a/rare/components/dialogs/launch_dialog.py +++ b/rare/components/dialogs/launch_dialog.py @@ -34,19 +34,23 @@ class ImageWorker(QRunnable): class ApiRequestWorker(QRunnable): - def __init__(self, api_requests: list): + def __init__(self): super(ApiRequestWorker, self).__init__() - self.api_requests = api_requests self.signals = ApiSignals() self.setAutoDelete(True) def run(self) -> None: - for text, function, args in self.api_requests: - try: - result = function(*args) - except HTTPError(): - result = None - self.signals.result.emit(result, text) + try: + result = shared.core.get_game_and_dlc_list(True, "Mac") + except HTTPError(): + result = [], {} + self.signals.result.emit(result, "mac") + + try: + result = shared.core.get_game_and_dlc_list(True, "Win32") + except HTTPError(): + result = [], {} + self.signals.result.emit(result, "32bit") class AssetWorker(QRunnable): @@ -124,12 +128,8 @@ class LaunchDialog(QDialog, Ui_LaunchDialog): image_worker.signal.result.connect(self.handle_api_worker_result) self.thread_pool.start(image_worker) - api_requests = [ - ["32bit", self.core.get_game_and_dlc_list, (True, "Win32")], - ["mac", self.core.get_game_and_dlc_list, (True, "Mac")], - ] # gamelist and no_asset games are from Image worker - worker = ApiRequestWorker(api_requests) + worker = ApiRequestWorker() worker.signals.result.connect(self.handle_api_worker_result) self.thread_pool.start(worker)