From b60062d45525c9323e91d3464c0718a1fae2f4a4 Mon Sep 17 00:00:00 2001 From: loathingKernel <142770+loathingKernel@users.noreply.github.com> Date: Wed, 6 Dec 2023 10:04:25 +0200 Subject: [PATCH] Code: Use vars() instead of directly accessing __dict__ --- rare/components/tabs/games/game_info/__init__.py | 2 +- rare/game_launch_helper/__init__.py | 2 +- rare/models/install.py | 2 +- rare/models/launcher.py | 13 +++++++------ 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/rare/components/tabs/games/game_info/__init__.py b/rare/components/tabs/games/game_info/__init__.py index 51cc46da..d22a0e00 100644 --- a/rare/components/tabs/games/game_info/__init__.py +++ b/rare/components/tabs/games/game_info/__init__.py @@ -83,7 +83,7 @@ class GameMetadataView(QTreeView, SideTabContents): self.set_title.emit(self.rgame.app_title) self.model.clear() try: - self.model.load(view.__dict__) + self.model.load(vars(view)) except Exception as e: pass self.resizeColumnToContents(0) diff --git a/rare/game_launch_helper/__init__.py b/rare/game_launch_helper/__init__.py index 4a677c85..7600b592 100644 --- a/rare/game_launch_helper/__init__.py +++ b/rare/game_launch_helper/__init__.py @@ -198,7 +198,7 @@ class RareLauncher(RareApp): def send_message(self, message: BaseModel): if self.socket: - self.socket.write(json.dumps(message.__dict__).encode("utf-8")) + self.socket.write(json.dumps(vars(message)).encode("utf-8")) self.socket.flush() else: self.logger.error("Can't send message") diff --git a/rare/models/install.py b/rare/models/install.py index 554dd8c6..aa0bcbe7 100644 --- a/rare/models/install.py +++ b/rare/models/install.py @@ -42,7 +42,7 @@ class InstallOptionsModel: def as_install_kwargs(self) -> Dict: return { k: getattr(self, k) - for k in self.__dict__ + for k in vars(self) if k not in ["update", "silent", "create_shortcut", "overlay", "install_prereqs"] } diff --git a/rare/models/launcher.py b/rare/models/launcher.py index edcc5648..a37a4451 100644 --- a/rare/models/launcher.py +++ b/rare/models/launcher.py @@ -1,4 +1,5 @@ from dataclasses import dataclass +from typing import Dict class Actions: @@ -15,7 +16,7 @@ class BaseModel: app_name: str @classmethod - def from_json(cls, data: dict): + def from_json(cls, data: Dict): return cls( action=data["action"], app_name=data["app_name"] @@ -28,9 +29,9 @@ class FinishedModel(BaseModel): playtime: int # seconds @classmethod - def from_json(cls, data): + def from_json(cls, data: Dict): return cls( - **BaseModel.from_json(data).__dict__, + **vars(BaseModel.from_json(data)), exit_code=data["exit_code"], playtime=data["playtime"], ) @@ -47,7 +48,7 @@ class StateChangedModel(BaseModel): new_state: int @classmethod - def from_json(cls, data): + def from_json(cls, data: Dict): return cls( action=data["action"], app_name=data["app_name"], @@ -60,8 +61,8 @@ class ErrorModel(BaseModel): error_string: str @classmethod - def from_json(cls, data): + def from_json(cls, data: Dict): return cls( - **BaseModel.from_json(data).__dict__, + **vars(BaseModel.from_json(data)), error_string=data["error_string"] )