[gnome-games/psx-logging] psx-logging
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/psx-logging] psx-logging
- Date: Thu, 30 Apr 2020 13:49:12 +0000 (UTC)
commit 0feb70832eef55a62a82a86f128e9f6824aba19d
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Thu Apr 30 18:46:13 2020 +0500
psx-logging
.../playstation/src/playstation-game-factory.vala | 25 ++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
---
diff --git a/plugins/playstation/src/playstation-game-factory.vala
b/plugins/playstation/src/playstation-game-factory.vala
index 3f7164fe..fc80c381 100644
--- a/plugins/playstation/src/playstation-game-factory.vala
+++ b/plugins/playstation/src/playstation-game-factory.vala
@@ -46,8 +46,12 @@ public class Games.PlayStationGameFactory : Object, UriGameFactory {
// TODO support unknown games (not in DB)
private void add_uri_with_error (Uri uri) throws Error {
- if (game_for_uri.contains (uri))
+ print (@"Trying to add uri $uri\n");
+
+ if (game_for_uri.contains (uri)) {
+ print ("Already added, exiting\n");
return;
+ }
var file = uri.to_file ();
var file_info = file.query_info (FileAttribute.STANDARD_CONTENT_TYPE,
FileQueryInfoFlags.NONE);
@@ -73,13 +77,19 @@ public class Games.PlayStationGameFactory : Object, UriGameFactory {
return;
}
+ print (@"Found bin file: $(bin_file.get_path())\n");
+
var header = new PlayStationHeader (bin_file);
header.check_validity ();
var disc_id = header.disc_id;
+ print (@"Disc id: $disc_id\n");
+
var gameinfo = get_gameinfo ();
var disc_set_id = gameinfo.get_disc_set_id_for_disc_id (disc_id);
+ print (@"Disc set id: $disc_set_id\n");
+
return_if_fail (media_for_disc_id.contains (disc_id) == game_for_disc_set_id.contains
(disc_set_id));
// Check whether we already have a media and by extension a media set
@@ -89,6 +99,8 @@ public class Games.PlayStationGameFactory : Object, UriGameFactory {
media.add_uri (uri);
game_for_uri[uri] = game_for_disc_set_id[disc_set_id];
+ print (@"Game already exists, exiting\n");
+
try_add_game (game_for_uri[uri]);
return;
@@ -96,10 +108,15 @@ public class Games.PlayStationGameFactory : Object, UriGameFactory {
// A game correspond to this URI but we don't have it yet: create it.
+ print (@"Creating game\n");
+
var new_medias = new HashTable<string, Media> (str_hash, str_equal);
Media[] new_medias_array = {};
var new_disc_ids = gameinfo.get_disc_set_ids_for_disc_id (disc_id);
foreach (var new_disc_id in new_disc_ids) {
+ print (@"Checking id $new_disc_id\n");
+ if (media_for_disc_id.contains (new_disc_id))
+ print ("And it crashes here\n");
assert (!media_for_disc_id.contains (new_disc_id));
var title = new GameinfoDiscIdDiscTitle (gameinfo, new_disc_id);
@@ -117,10 +134,14 @@ public class Games.PlayStationGameFactory : Object, UriGameFactory {
media_set.icon_name = ICON_NAME;
var game = create_game (media_set, disc_set_id, uri);
+ print (@"Created game\n");
+
// Creating the Medias, MediaSet and Game worked, we can save them.
- foreach (var new_disc_id in new_medias.get_keys ())
+ foreach (var new_disc_id in new_medias.get_keys ()) {
+ print (@"Adding $new_disc_id to media_for_disc_id\n");
media_for_disc_id[new_disc_id] = new_medias[new_disc_id];
+ }
game_for_uri[uri] = game;
game_for_disc_set_id[disc_set_id] = game;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]