Update SGDBSave to use Game class

This commit is contained in:
kramo
2023-04-19 22:05:14 +02:00
parent b92e316729
commit 3cfb3c5028
4 changed files with 22 additions and 25 deletions

View File

@@ -332,9 +332,9 @@ class PreferencesWindow(Adw.PreferencesWindow):
self.file_chooser.select_folder(self.win, None, function, None)
def undo_remove_all(self, *_args):
for game_id in self.removed_games:
self.win.games[game_id].removed = False
self.win.games[game_id].save()
for game in self.removed_games:
game.removed = False
game.save()
self.removed_games = set()
self.toast.dismiss()
@@ -342,7 +342,7 @@ class PreferencesWindow(Adw.PreferencesWindow):
def remove_all_games(self, *_args):
for game in self.win.games.values():
if not game.removed:
self.removed_games.add(game.game_id)
self.removed_games.add(game)
game.removed = True
game.save()

View File

@@ -321,7 +321,7 @@ def create_details_window(win, game=None):
game.save()
if not game_cover.pixbuf:
SGDBSave(win, {(game.game_id, game.name)})
SGDBSave(win, {game})
game.game_cover.pictures.remove(cover)

View File

@@ -56,17 +56,15 @@ class Importer:
def save_game(self, values=None, cover_path=None):
if values:
Game(self.win, values)
game = Game(self.win, values)
if cover_path:
save_cover(
self.win, values["game_id"], resize_cover(self.win, cover_path)
)
save_cover(self.win, game.game_id, resize_cover(self.win, cover_path))
self.games.add((values["game_id"], values["name"]))
self.games.add(game)
self.games_no += 1
if values.get("blacklisted"):
if game.blacklisted:
self.games_no -= 1
self.queue -= 1

View File

@@ -30,12 +30,12 @@ class SGDBSave:
if self.win.schema.get_boolean("sgdb") and (
self.win.schema.get_boolean("sgdb-prefer")
or (
not (self.win.covers_dir / f"{game[0]}.gif").is_file()
and not (self.win.covers_dir / f"{game[0]}.tiff").is_file()
not (self.win.covers_dir / f"{game.game_id}.gif").is_file()
and not (self.win.covers_dir / f"{game.game_id}.tiff").is_file()
)
):
if not self.importer:
self.win.games[game[0]].set_loading(1)
game.set_loading(1)
url = "https://www.steamgriddb.com/api/v2/"
headers = {
@@ -44,7 +44,7 @@ class SGDBSave:
try:
search_result = requests.get(
f"{url}search/autocomplete/{game[1]}",
f"{url}search/autocomplete/{game.name}",
headers=headers,
timeout=5,
)
@@ -56,7 +56,7 @@ class SGDBSave:
)
search_result.raise_for_status()
except requests.exceptions.RequestException:
task.return_value(game[0])
task.return_value(game)
return
response = None
@@ -82,7 +82,7 @@ class SGDBSave:
)
response = requests.get(grid.json()["data"][0]["url"], timeout=5)
except (requests.exceptions.RequestException, IndexError):
task.return_value(game[0])
task.return_value(game)
return
tmp_file = Gio.File.new_tmp()[0]
@@ -90,11 +90,11 @@ class SGDBSave:
save_cover(
self.win,
game[0],
game.game_id,
resize_cover(self.win, tmp_file.get_path()),
)
task.return_value(game[0])
task.return_value(game)
def task_done(self, _task, result):
if self.importer:
@@ -111,10 +111,9 @@ class SGDBSave:
_("Preferences"),
).connect("response", self.response)
game = self.win.games.get(result.propagate_value()[1])
game = result.propagate_value()[1]
game.set_loading(-1)
if game:
if self.importer:
game.save()
else: