diff --git a/rare/app.py b/rare/app.py index aa4e1a95..35b123a2 100644 --- a/rare/app.py +++ b/rare/app.py @@ -32,7 +32,7 @@ def excepthook(exc_type, exc_value, exc_tb): print("Error") if exc_tb == HTTPError: try: - if shared.legendary_core.login(): + if shared.core.login(): return else: raise ValueError diff --git a/rare/components/dialogs/launch_dialog.py b/rare/components/dialogs/launch_dialog.py index 1ceaa265..8761c705 100644 --- a/rare/components/dialogs/launch_dialog.py +++ b/rare/components/dialogs/launch_dialog.py @@ -60,7 +60,7 @@ class LaunchDialog(QDialog, Ui_LaunchDialog): super(LaunchDialog, self).__init__(parent=parent) self.setupUi(self) self.setAttribute(Qt.WA_DeleteOnClose, True) - self.core = shared.legendary_core + self.core = shared.core self.offline = shared.args.offline self.thread_pool = QThreadPool() self.thread_pool.setMaxThreadCount(2) diff --git a/rare/components/main_window.py b/rare/components/main_window.py index a0614dbc..47845b06 100644 --- a/rare/components/main_window.py +++ b/rare/components/main_window.py @@ -18,7 +18,7 @@ class MainWindow(QMainWindow): super(MainWindow, self).__init__() self.setAttribute(Qt.WA_DeleteOnClose) self.settings = QSettings() - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals diff --git a/rare/components/tabs/account/__init__.py b/rare/components/tabs/account/__init__.py index e7c95bf1..fb57e5f3 100644 --- a/rare/components/tabs/account/__init__.py +++ b/rare/components/tabs/account/__init__.py @@ -9,7 +9,7 @@ class MiniWidget(QWidget): def __init__(self): super(MiniWidget, self).__init__() self.layout = QVBoxLayout() - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals self.layout.addWidget(QLabel("Account")) username = self.core.lgd.userdata.get("display_name") diff --git a/rare/components/tabs/cloud_saves/__init__.py b/rare/components/tabs/cloud_saves/__init__.py index eddabeeb..0418630a 100644 --- a/rare/components/tabs/cloud_saves/__init__.py +++ b/rare/components/tabs/cloud_saves/__init__.py @@ -30,7 +30,7 @@ class SyncSaves(QScrollArea): def __init__(self): super(SyncSaves, self).__init__() - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals self.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded) self.load_saves() diff --git a/rare/components/tabs/downloads/__init__.py b/rare/components/tabs/downloads/__init__.py index a10fe1f5..bf577cac 100644 --- a/rare/components/tabs/downloads/__init__.py +++ b/rare/components/tabs/downloads/__init__.py @@ -25,7 +25,7 @@ class DownloadTab(QWidget): def __init__(self, updates: list): super(DownloadTab, self).__init__() - self.core = shared.legendary_core + self.core = shared.core self.layout = QVBoxLayout() self.active_game: Game = None self.analysis = None diff --git a/rare/components/tabs/games/__init__.py b/rare/components/tabs/games/__init__.py index 9ce2f69a..77ca903c 100644 --- a/rare/components/tabs/games/__init__.py +++ b/rare/components/tabs/games/__init__.py @@ -33,7 +33,7 @@ class GamesTab(QStackedWidget, Ui_GamesTab): def __init__(self): super(GamesTab, self).__init__() self.setupUi(self) - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals self.settings = QSettings() diff --git a/rare/components/tabs/games/game_info/__init__.py b/rare/components/tabs/games/game_info/__init__.py index 8c8703a0..9d4f656b 100644 --- a/rare/components/tabs/games/game_info/__init__.py +++ b/rare/components/tabs/games/game_info/__init__.py @@ -12,7 +12,7 @@ from .game_settings import GameSettings class GameInfoTabs(SideTabWidget): def __init__(self, dlcs: list, parent=None): super(GameInfoTabs, self).__init__(show_back=True, parent=parent) - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals self.info = GameInfo(self) diff --git a/rare/components/tabs/games/game_info/game_dlc.py b/rare/components/tabs/games/game_info/game_dlc.py index 2326269a..0ce0990a 100644 --- a/rare/components/tabs/games/game_info/game_dlc.py +++ b/rare/components/tabs/games/game_info/game_dlc.py @@ -22,7 +22,7 @@ class GameDlc(QWidget, Ui_GameDlc): self.available_dlc_scroll.setObjectName("noborder") self.installed_dlc_scroll.setObjectName("noborder") self.signals = shared.signals - self.core = shared.legendary_core + self.core = shared.core self.dlcs = dlcs self.installed_dlc_widgets = list() diff --git a/rare/components/tabs/games/game_info/game_info.py b/rare/components/tabs/games/game_info/game_info.py index 65e73288..c8407b42 100644 --- a/rare/components/tabs/games/game_info/game_info.py +++ b/rare/components/tabs/games/game_info/game_info.py @@ -22,7 +22,7 @@ class GameInfo(QWidget, Ui_GameInfo): def __init__(self, parent): super(GameInfo, self).__init__(parent=parent) self.setupUi(self) - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals if platform.system() == "Windows": diff --git a/rare/components/tabs/games/game_info/uninstalled_info.py b/rare/components/tabs/games/game_info/uninstalled_info.py index b435df62..bf446abb 100644 --- a/rare/components/tabs/games/game_info/uninstalled_info.py +++ b/rare/components/tabs/games/game_info/uninstalled_info.py @@ -17,7 +17,7 @@ from rare.utils.utils import get_pixmap class UninstalledInfoTabs(SideTabWidget): def __init__(self, parent=None): super(UninstalledInfoTabs, self).__init__(show_back=True, parent=parent) - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals self.info = UninstalledInfo() @@ -55,7 +55,7 @@ class UninstalledInfo(QWidget, Ui_GameInfo): def __init__(self, parent=None): super(UninstalledInfo, self).__init__(parent=parent) self.setupUi(self) - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals self.install_button.clicked.connect(self.install_game) if platform.system() != "Windows": diff --git a/rare/components/tabs/games/game_widgets/base_installed_widget.py b/rare/components/tabs/games/game_widgets/base_installed_widget.py index 27b85db0..fdeabd2f 100644 --- a/rare/components/tabs/games/game_widgets/base_installed_widget.py +++ b/rare/components/tabs/games/game_widgets/base_installed_widget.py @@ -28,7 +28,7 @@ class BaseInstalledWidget(QGroupBox): super(BaseInstalledWidget, self).__init__() self.igame = igame self.is_origin = is_origin - self.core = shared.legendary_core + self.core = shared.core if not game: self.game = self.core.get_game(self.igame.app_name) else: diff --git a/rare/components/tabs/games/game_widgets/installed_icon_widget.py b/rare/components/tabs/games/game_widgets/installed_icon_widget.py index 45fd5e9c..9128e4e8 100644 --- a/rare/components/tabs/games/game_widgets/installed_icon_widget.py +++ b/rare/components/tabs/games/game_widgets/installed_icon_widget.py @@ -23,7 +23,7 @@ class InstalledIconWidget(BaseInstalledWidget): self.setContextMenuPolicy(Qt.ActionsContextMenu) self.layout = QVBoxLayout() - self.core = shared.legendary_core + self.core = shared.core self.running = False self.info_text = "" diff --git a/rare/components/tabs/games/import_widget.py b/rare/components/tabs/games/import_widget.py index f6007ea6..64a0e3d8 100644 --- a/rare/components/tabs/games/import_widget.py +++ b/rare/components/tabs/games/import_widget.py @@ -19,7 +19,7 @@ class ImportWidget(QWidget): def __init__(self): super(ImportWidget, self).__init__() - self.core = shared.legendary_core + self.core = shared.core self.game_list = [i.app_name for i in self.core.get_game_list()] self.main_layout = QHBoxLayout() diff --git a/rare/components/tabs/settings/dxvk.py b/rare/components/tabs/settings/dxvk.py index 3e824da7..f3299a31 100644 --- a/rare/components/tabs/settings/dxvk.py +++ b/rare/components/tabs/settings/dxvk.py @@ -18,7 +18,7 @@ class DxvkSettings(QGroupBox, Ui_DxvkSettings): self.setupUi(self) self.name = name if name is not None else "default" - self.core = shared.legendary_core + self.core = shared.core self.dxvk_options_map = { "devinfo": self.devinfo, @@ -99,7 +99,7 @@ class DxvkWidget(QGroupBox): def __init__(self, name=None): super(DxvkWidget, self).__init__() - self.core = shared.legendary_core + self.core = shared.core self.setObjectName("settings_widget") self.dxvk_settings = { "fps": [False, "Fps"], diff --git a/rare/components/tabs/settings/legendary.py b/rare/components/tabs/settings/legendary.py index 0554c20b..824c8d61 100644 --- a/rare/components/tabs/settings/legendary.py +++ b/rare/components/tabs/settings/legendary.py @@ -17,7 +17,7 @@ class LegendarySettings(QWidget, Ui_LegendarySettings): super(LegendarySettings, self).__init__(parent=parent) self.setupUi(self) - self.core = shared.legendary_core + self.core = shared.core # Default installation directory self.install_dir = PathEdit(self.core.get_default_install_dir(), diff --git a/rare/components/tabs/settings/linux.py b/rare/components/tabs/settings/linux.py index 6b177194..6265dcae 100644 --- a/rare/components/tabs/settings/linux.py +++ b/rare/components/tabs/settings/linux.py @@ -16,7 +16,7 @@ class LinuxSettings(QWidget, Ui_LinuxSettings): self.setupUi(self) self.name = name if name is not None else "default" - self.core = shared.legendary_core + self.core = shared.core # Wine prefix self.wine_prefix = PathEdit(self.core.lgd.config.get(self.name, "wine_prefix", fallback=""), diff --git a/rare/components/tabs/settings/rare.py b/rare/components/tabs/settings/rare.py index 88215ebb..b601a3de 100644 --- a/rare/components/tabs/settings/rare.py +++ b/rare/components/tabs/settings/rare.py @@ -26,7 +26,7 @@ class RareSettings(QWidget, Ui_RareSettings): def __init__(self): super(RareSettings, self).__init__() self.setupUi(self) - self.core = shared.legendary_core + self.core = shared.core # (widget_name, option_name, default) self.checkboxes = [ (self.sys_tray, "sys_tray", True), diff --git a/rare/components/tabs/shop/game_info.py b/rare/components/tabs/shop/game_info.py index 7eb55677..291e02b5 100644 --- a/rare/components/tabs/shop/game_info.py +++ b/rare/components/tabs/shop/game_info.py @@ -213,7 +213,7 @@ class ShopGameInfo(QWidget, Ui_shop_info): self.wishlist.append(game["offer"]["title"]) def button_clicked(self): - webbrowser.open(f"https://www.epicgames.com/store/{shared.legendary_core.language_code}/p/" + self.slug) + webbrowser.open(f"https://www.epicgames.com/store/{shared.core.language_code}/p/" + self.slug) class SocialButton(QPushButton): diff --git a/rare/components/tabs/shop/shop_api_core.py b/rare/components/tabs/shop/shop_api_core.py index a4dc89d1..ddd1a54b 100644 --- a/rare/components/tabs/shop/shop_api_core.py +++ b/rare/components/tabs/shop/shop_api_core.py @@ -47,7 +47,10 @@ class ShopApiCore(QObject): }, lambda data: self._handle_wishlist(data, handle_func)) def _handle_wishlist(self, data, handle_func): - handle_func(data["data"]["Wishlist"]["wishlistItems"]["elements"]) + try: + handle_func(data["data"]["Wishlist"]["wishlistItems"]["elements"]) + except KeyError: + handle_func(None) def search_game(self, name, handle_func): payload = { diff --git a/rare/components/tabs/tab_widget.py b/rare/components/tabs/tab_widget.py index 80624f0f..42544de2 100644 --- a/rare/components/tabs/tab_widget.py +++ b/rare/components/tabs/tab_widget.py @@ -20,7 +20,7 @@ class TabWidget(QTabWidget): def __init__(self, parent): super(TabWidget, self).__init__(parent=parent) disabled_tab = 4 if not shared.args.offline else 1 - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals self.setTabBar(TabBar(disabled_tab)) # Generate Tabs diff --git a/rare/shared.py b/rare/shared.py index 483cb32f..450c4068 100644 --- a/rare/shared.py +++ b/rare/shared.py @@ -3,16 +3,16 @@ from argparse import Namespace from legendary.core import LegendaryCore from rare.utils.models import ApiResults, Signals -legendary_core: LegendaryCore = None +core: LegendaryCore = None signals: Signals = None args: Namespace = None api_results: ApiResults = None def init_legendary(): - global legendary_core - legendary_core = LegendaryCore() - return legendary_core + global core + core = LegendaryCore() + return core def init_signals(): diff --git a/rare/utils/rpc.py b/rare/utils/rpc.py index 628f1de0..4b16638b 100644 --- a/rare/utils/rpc.py +++ b/rare/utils/rpc.py @@ -17,7 +17,7 @@ class DiscordRPC(QObject): super(DiscordRPC, self).__init__() self.RPC = None self.state = 1 # 0: game, 1: always active, 2: off - self.core = shared.legendary_core + self.core = shared.core self.signals = shared.signals self.settings = QSettings()