Cleanups
This commit is contained in:
@@ -85,7 +85,7 @@ def create_details_window(parent_widget, game_id=None):
|
||||
apply_button = Gtk.Button.new_with_label(_("Confirm"))
|
||||
else:
|
||||
window.set_title(_("Edit Game Details"))
|
||||
game_cover.new_pixbuf(path=parent_widget.games[game_id].get_cover())
|
||||
game_cover.new_pixbuf(path=parent_widget.games[game_id].get_cover_path())
|
||||
developer = Gtk.Entry.new_with_buffer(
|
||||
Gtk.EntryBuffer.new(games[game_id].developer, -1)
|
||||
)
|
||||
@@ -95,7 +95,7 @@ def create_details_window(parent_widget, game_id=None):
|
||||
)
|
||||
apply_button = Gtk.Button.new_with_label(_("Apply"))
|
||||
|
||||
if parent_widget.games[game_id].pixbuf:
|
||||
if parent_widget.games[game_id].get_cover_path():
|
||||
cover_button_delete_revealer.set_reveal_child(True)
|
||||
|
||||
image_filter = Gtk.FileFilter(name=_("Images"))
|
||||
@@ -314,16 +314,10 @@ def create_details_window(parent_widget, game_id=None):
|
||||
values["executable"] = final_executable_split
|
||||
|
||||
if cover_deleted:
|
||||
(
|
||||
parent_widget.data_dir / "cartridges" / "covers" / f"{game_id}.tiff"
|
||||
).unlink(missing_ok=True)
|
||||
(
|
||||
parent_widget.data_dir / "cartridges" / "covers" / f"{game_id}.gif"
|
||||
).unlink(missing_ok=True)
|
||||
(parent_widget.covers_dir / f"{game_id}.tiff").unlink(missing_ok=True)
|
||||
(parent_widget.covers_dir / f"{game_id}.gif").unlink(missing_ok=True)
|
||||
|
||||
elif not (
|
||||
parent_widget.data_dir / "cartridges" / "covers" / f"{game_id}.tiff"
|
||||
).is_file():
|
||||
if not game_cover.get_pixbuf():
|
||||
SGDBSave(parent_widget, {(game_id, values["name"])})
|
||||
|
||||
save_cover(
|
||||
@@ -334,7 +328,7 @@ def create_details_window(parent_widget, game_id=None):
|
||||
game_cover.get_animation(),
|
||||
)
|
||||
|
||||
path = parent_widget.data_dir / "cartridges" / "games" / f"{game_id}.json"
|
||||
path = parent_widget.games_dir / f"{game_id}.json"
|
||||
|
||||
if path.exists():
|
||||
data = json.loads(path.read_text("utf-8"))
|
||||
|
||||
@@ -21,16 +21,17 @@ import json
|
||||
|
||||
|
||||
def get_games(parent_widget, game_ids=None):
|
||||
games_dir = parent_widget.data_dir / "cartridges" / "games"
|
||||
games = {}
|
||||
|
||||
if not games_dir.exists():
|
||||
if not parent_widget.games_dir.exists():
|
||||
return {}
|
||||
|
||||
if game_ids:
|
||||
game_files = [games_dir / f"{game_id}.json" for game_id in game_ids]
|
||||
game_files = [
|
||||
parent_widget.games_dir / f"{game_id}.json" for game_id in game_ids
|
||||
]
|
||||
else:
|
||||
game_files = games_dir.iterdir()
|
||||
game_files = parent_widget.games_dir.iterdir()
|
||||
|
||||
for game in game_files:
|
||||
data = json.loads(game.read_text("utf-8"))
|
||||
|
||||
@@ -49,25 +49,25 @@ def save_cover(
|
||||
pixbuf=None,
|
||||
animation_path=None,
|
||||
):
|
||||
covers_dir = parent_widget.data_dir / "cartridges" / "covers"
|
||||
covers_dir.mkdir(parents=True, exist_ok=True)
|
||||
parent_widget.covers_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Remove previous covers
|
||||
(parent_widget.covers_dir / f"{game_id}.tiff").unlink(missing_ok=True)
|
||||
(parent_widget.covers_dir / f"{game_id}.gif").unlink(missing_ok=True)
|
||||
|
||||
if animation_path:
|
||||
(covers_dir / f"{game_id}.tiff").unlink(missing_ok=True)
|
||||
copyfile(animation_path, covers_dir / f"{game_id}.gif")
|
||||
copyfile(animation_path, parent_widget.covers_dir / f"{game_id}.gif")
|
||||
return
|
||||
|
||||
if not pixbuf:
|
||||
try:
|
||||
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
|
||||
str(cover_path), *parent_widget.image_size, False
|
||||
)
|
||||
except GLib.GError:
|
||||
if not cover_path:
|
||||
return
|
||||
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
|
||||
str(cover_path), *parent_widget.image_size, False
|
||||
)
|
||||
|
||||
open_file = Gio.File.new_for_path(str(covers_dir / f"{game_id}.tiff"))
|
||||
pixbuf.save_to_streamv(
|
||||
open_file.replace(None, False, Gio.FileCreateFlags.NONE),
|
||||
pixbuf.savev(
|
||||
str(parent_widget.covers_dir / f"{game_id}.tiff"),
|
||||
"tiff",
|
||||
["compression"],
|
||||
["8"] if parent_widget.schema.get_boolean("high-quality-images") else ["7"],
|
||||
|
||||
@@ -21,10 +21,8 @@ import json
|
||||
|
||||
|
||||
def save_game(parent_widget, game):
|
||||
games_dir = parent_widget.data_dir / "cartridges" / "games"
|
||||
parent_widget.games_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
games_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
(games_dir / f'{game["game_id"]}.json').write_text(
|
||||
(parent_widget.games_dir / f'{game["game_id"]}.json').write_text(
|
||||
json.dumps(game, indent=4, sort_keys=True), "utf-8"
|
||||
)
|
||||
|
||||
@@ -29,19 +29,9 @@ class SGDBSave:
|
||||
def update_cover(self, task, game):
|
||||
if self.parent_widget.schema.get_boolean("sgdb") and (
|
||||
self.parent_widget.schema.get_boolean("sgdb-prefer")
|
||||
or not any(
|
||||
(
|
||||
self.parent_widget.data_dir
|
||||
/ "cartridges"
|
||||
/ "covers"
|
||||
/ f"{game[0]}.tiff"
|
||||
).is_file(),
|
||||
(
|
||||
self.parent_widget.data_dir
|
||||
/ "cartridges"
|
||||
/ "covers"
|
||||
/ f"{game[0]}.gif"
|
||||
).is_file(),
|
||||
or (
|
||||
not (self.parent_widget.covers_dir / f"{game[0]}.gif").is_file()
|
||||
and not (self.parent_widget.covers_dir / f"{game[0]}.tiff").is_file()
|
||||
)
|
||||
):
|
||||
if not self.importer:
|
||||
|
||||
Reference in New Issue
Block a user