Update SGDBSave to use Game class
This commit is contained in:
@@ -332,9 +332,9 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
|||||||
self.file_chooser.select_folder(self.win, None, function, None)
|
self.file_chooser.select_folder(self.win, None, function, None)
|
||||||
|
|
||||||
def undo_remove_all(self, *_args):
|
def undo_remove_all(self, *_args):
|
||||||
for game_id in self.removed_games:
|
for game in self.removed_games:
|
||||||
self.win.games[game_id].removed = False
|
game.removed = False
|
||||||
self.win.games[game_id].save()
|
game.save()
|
||||||
|
|
||||||
self.removed_games = set()
|
self.removed_games = set()
|
||||||
self.toast.dismiss()
|
self.toast.dismiss()
|
||||||
@@ -342,7 +342,7 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
|||||||
def remove_all_games(self, *_args):
|
def remove_all_games(self, *_args):
|
||||||
for game in self.win.games.values():
|
for game in self.win.games.values():
|
||||||
if not game.removed:
|
if not game.removed:
|
||||||
self.removed_games.add(game.game_id)
|
self.removed_games.add(game)
|
||||||
|
|
||||||
game.removed = True
|
game.removed = True
|
||||||
game.save()
|
game.save()
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ def create_details_window(win, game=None):
|
|||||||
game.save()
|
game.save()
|
||||||
|
|
||||||
if not game_cover.pixbuf:
|
if not game_cover.pixbuf:
|
||||||
SGDBSave(win, {(game.game_id, game.name)})
|
SGDBSave(win, {game})
|
||||||
|
|
||||||
game.game_cover.pictures.remove(cover)
|
game.game_cover.pictures.remove(cover)
|
||||||
|
|
||||||
|
|||||||
@@ -56,17 +56,15 @@ class Importer:
|
|||||||
|
|
||||||
def save_game(self, values=None, cover_path=None):
|
def save_game(self, values=None, cover_path=None):
|
||||||
if values:
|
if values:
|
||||||
Game(self.win, values)
|
game = Game(self.win, values)
|
||||||
|
|
||||||
if cover_path:
|
if cover_path:
|
||||||
save_cover(
|
save_cover(self.win, game.game_id, resize_cover(self.win, cover_path))
|
||||||
self.win, values["game_id"], resize_cover(self.win, cover_path)
|
|
||||||
)
|
|
||||||
|
|
||||||
self.games.add((values["game_id"], values["name"]))
|
self.games.add(game)
|
||||||
|
|
||||||
self.games_no += 1
|
self.games_no += 1
|
||||||
if values.get("blacklisted"):
|
if game.blacklisted:
|
||||||
self.games_no -= 1
|
self.games_no -= 1
|
||||||
|
|
||||||
self.queue -= 1
|
self.queue -= 1
|
||||||
|
|||||||
@@ -30,12 +30,12 @@ class SGDBSave:
|
|||||||
if self.win.schema.get_boolean("sgdb") and (
|
if self.win.schema.get_boolean("sgdb") and (
|
||||||
self.win.schema.get_boolean("sgdb-prefer")
|
self.win.schema.get_boolean("sgdb-prefer")
|
||||||
or (
|
or (
|
||||||
not (self.win.covers_dir / f"{game[0]}.gif").is_file()
|
not (self.win.covers_dir / f"{game.game_id}.gif").is_file()
|
||||||
and not (self.win.covers_dir / f"{game[0]}.tiff").is_file()
|
and not (self.win.covers_dir / f"{game.game_id}.tiff").is_file()
|
||||||
)
|
)
|
||||||
):
|
):
|
||||||
if not self.importer:
|
if not self.importer:
|
||||||
self.win.games[game[0]].set_loading(1)
|
game.set_loading(1)
|
||||||
|
|
||||||
url = "https://www.steamgriddb.com/api/v2/"
|
url = "https://www.steamgriddb.com/api/v2/"
|
||||||
headers = {
|
headers = {
|
||||||
@@ -44,7 +44,7 @@ class SGDBSave:
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
search_result = requests.get(
|
search_result = requests.get(
|
||||||
f"{url}search/autocomplete/{game[1]}",
|
f"{url}search/autocomplete/{game.name}",
|
||||||
headers=headers,
|
headers=headers,
|
||||||
timeout=5,
|
timeout=5,
|
||||||
)
|
)
|
||||||
@@ -56,7 +56,7 @@ class SGDBSave:
|
|||||||
)
|
)
|
||||||
search_result.raise_for_status()
|
search_result.raise_for_status()
|
||||||
except requests.exceptions.RequestException:
|
except requests.exceptions.RequestException:
|
||||||
task.return_value(game[0])
|
task.return_value(game)
|
||||||
return
|
return
|
||||||
|
|
||||||
response = None
|
response = None
|
||||||
@@ -82,7 +82,7 @@ class SGDBSave:
|
|||||||
)
|
)
|
||||||
response = requests.get(grid.json()["data"][0]["url"], timeout=5)
|
response = requests.get(grid.json()["data"][0]["url"], timeout=5)
|
||||||
except (requests.exceptions.RequestException, IndexError):
|
except (requests.exceptions.RequestException, IndexError):
|
||||||
task.return_value(game[0])
|
task.return_value(game)
|
||||||
return
|
return
|
||||||
|
|
||||||
tmp_file = Gio.File.new_tmp()[0]
|
tmp_file = Gio.File.new_tmp()[0]
|
||||||
@@ -90,11 +90,11 @@ class SGDBSave:
|
|||||||
|
|
||||||
save_cover(
|
save_cover(
|
||||||
self.win,
|
self.win,
|
||||||
game[0],
|
game.game_id,
|
||||||
resize_cover(self.win, tmp_file.get_path()),
|
resize_cover(self.win, tmp_file.get_path()),
|
||||||
)
|
)
|
||||||
|
|
||||||
task.return_value(game[0])
|
task.return_value(game)
|
||||||
|
|
||||||
def task_done(self, _task, result):
|
def task_done(self, _task, result):
|
||||||
if self.importer:
|
if self.importer:
|
||||||
@@ -111,14 +111,13 @@ class SGDBSave:
|
|||||||
_("Preferences"),
|
_("Preferences"),
|
||||||
).connect("response", self.response)
|
).connect("response", self.response)
|
||||||
|
|
||||||
game = self.win.games.get(result.propagate_value()[1])
|
game = result.propagate_value()[1]
|
||||||
game.set_loading(-1)
|
game.set_loading(-1)
|
||||||
|
|
||||||
if game:
|
if self.importer:
|
||||||
if self.importer:
|
game.save()
|
||||||
game.save()
|
else:
|
||||||
else:
|
game.update()
|
||||||
game.update()
|
|
||||||
|
|
||||||
def response(self, _widget, response):
|
def response(self, _widget, response):
|
||||||
if response == "open_preferences":
|
if response == "open_preferences":
|
||||||
|
|||||||
Reference in New Issue
Block a user