Open burnhamup opened 4 years ago
Hey, I cannot reproduce with
async def get_owned_games(self):
return [Game("test_game_with_apostrophe", "Sonic 3D Blast ~ Sonic 3D Flickies' Island", None, LicenseInfo(LicenseType.SinglePurchase))]
Maybe do you mean game_id
not game_title
?
Can you send this GalaxyClient.log
?
I believe this integration uses the same name for the game_id as it does the game_title
Here's the relevant bits from the GalaxyClient.log
2020-05-06 17:42:25.648 [Information][ (0)] [TID 6124][galaxy_client]: Successfully imported 62 games for platform segag with GRKs: segag_Wonder Boy V - Monster World III, segag_Wonder Boy in Monster World, segag_Wonder Boy III - Monster Lair, segag_Virtua Fighter 2, segag_Vectorman, segag_Vectorman 2, segag_Revenge of Shinobi, The, segag_Sword of Vermilion, segag_Super Thunder Blade, segag_Bare Knuckle - Ikari no Tetsuken ~ Streets of Rage, segag_Streets of Rage 3, segag_Bare Knuckle III, segag_Streets of Rage 2, segag_Story of Thor, The - Hikari o Tsugumono, segag_Story of Thor, The, segag_Space Harrier II, segag_Sonic The Hedgehog, segag_Sonic The Hedgehog 2, segag_Sonic the Hedgehog: Spinball, segag_Sonic 3D Blast ~ Sonic 3D Flickies' Island, segag_Sonic & Knuckles + Sonic The Hedgehog 3, segag_Sonic & Knuckles + Sonic The Hedgehog 2, segag_Shinobi III - Return of the Ninja Master, segag_Shining in the Darkness, segag_Shining Force, segag_Shining Force II, segag_Shadow Dancer - The Secret of Shinobi, segag_Ristar, segag_Phantasy Star IV, segag_Phantasy Star III - Generations of Doom, segag_Phantasy Star II, segag_Light Crusader, segag_Legende de Thor, La, segag_Landstalker, segag_Kid Chameleon, segag_Gunstar Heroes, segag_Golden Axe, segag_Golden Axe III, segag_Golden Axe II, segag_Galaxy Force II, segag_Gain Ground, segag_Flicky, segag_Fatal Labyrinth, segag_Eternal Champions, segag_ESWAT - City Under Siege, segag_Ecco the Dolphin, segag_Ecco Jr., segag_Ecco - The Tides of Time, segag_Dynamite Headdy, segag_Dr. Robotnik's Mean Bean Machine, segag_DEcapAttack, segag_Crack Down, segag_Comix Zone, segag_Columns, segag_Columns III, segag_Bonanza Bros., segag_Bio Hazard Battle, segag_Beyond Oasis, segag_Altered Beast, segag_Alien Storm, segag_Alien Soldier, segag_Alex Kidd in the Enchanted Castle.
2020-05-06 17:42:25.662 [Information][ (0)] [TID 6376][galaxy_client]: Successfully cached 19 external accounts data in the database.
2020-05-06 17:42:25.787 [Information][ (0)] [TID 6376][galaxy_client]: No games on platform 'segag' need to be marked as owned.
2020-05-06 17:42:25.885 [Error][ (0)] [TID 6376][galaxy_client]: Failed to check and update ownerships locally: Invalid SQL statement
And the corresponding bit from the segag_plugin
2020-05-06 11:49:48,232 - root - DEBUG - Sending data: {"jsonrpc": "2.0", "id": "2761", "result": {"owned_games": [{"game_id": "Wonder Boy V - Monster World III", "game_title": "Wonder Boy V - Monster World III", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Wonder Boy in Monster World", "game_title": "Wonder Boy in Monster World", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Wonder Boy III - Monster Lair", "game_title": "Wonder Boy III - Monster Lair", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Virtua Fighter 2", "game_title": "Virtua Fighter 2", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Vectorman", "game_title": "Vectorman", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Vectorman 2", "game_title": "Vectorman 2", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Revenge of Shinobi, The", "game_title": "Revenge of Shinobi, The", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Sword of Vermilion", "game_title": "Sword of Vermilion", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Super Thunder Blade", "game_title": "Super Thunder Blade", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Bare Knuckle - Ikari no Tetsuken ~ Streets of Rage", "game_title": "Bare Knuckle - Ikari no Tetsuken ~ Streets of Rage", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Streets of Rage 3", "game_title": "Streets of Rage 3", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Bare Knuckle III", "game_title": "Bare Knuckle III", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Streets of Rage 2", "game_title": "Streets of Rage 2", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Story of Thor, The - Hikari o Tsugumono", "game_title": "Story of Thor, The - Hikari o Tsugumono", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Story of Thor, The", "game_title": "Story of Thor, The", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Space Harrier II", "game_title": "Space Harrier II", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Sonic The Hedgehog", "game_title": "Sonic The Hedgehog", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Sonic The Hedgehog 2", "game_title": "Sonic The Hedgehog 2", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Sonic the Hedgehog: Spinball", "game_title": "Sonic the Hedgehog: Spinball", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Sonic 3D Blast ~ Sonic 3D Flickies' Island", "game_title": "Sonic 3D Blast ~ Sonic 3D Flickies' Island", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Sonic & Knuckles + Sonic The Hedgehog 3", "game_title": "Sonic & Knuckles + Sonic The Hedgehog 3", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Sonic & Knuckles + Sonic The Hedgehog 2", "game_title": "Sonic & Knuckles + Sonic The Hedgehog 2", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Shinobi III - Return of the Ninja Master", "game_title": "Shinobi III - Return of the Ninja Master", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Shining in the Darkness", "game_title": "Shining in the Darkness", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Shining Force", "game_title": "Shining Force", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Shining Force II", "game_title": "Shining Force II", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Shadow Dancer - The Secret of Shinobi", "game_title": "Shadow Dancer - The Secret of Shinobi", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Ristar", "game_title": "Ristar", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Phantasy Star IV", "game_title": "Phantasy Star IV", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Phantasy Star III - Generations of Doom", "game_title": "Phantasy Star III - Generations of Doom", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Phantasy Star II", "game_title": "Phantasy Star II", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Light Crusader", "game_title": "Light Crusader", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Legende de Thor, La", "game_title": "Legende de Thor, La", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Landstalker", "game_title": "Landstalker", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Kid Chameleon", "game_title": "Kid Chameleon", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Gunstar Heroes", "game_title": "Gunstar Heroes", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Golden Axe", "game_title": "Golden Axe", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Golden Axe III", "game_title": "Golden Axe III", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Golden Axe II", "game_title": "Golden Axe II", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Galaxy Force II", "game_title": "Galaxy Force II", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Gain Ground", "game_title": "Gain Ground", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Flicky", "game_title": "Flicky", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Fatal Labyrinth", "game_title": "Fatal Labyrinth", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Eternal Champions", "game_title": "Eternal Champions", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "ESWAT - City Under Siege", "game_title": "ESWAT - City Under Siege", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Ecco the Dolphin", "game_title": "Ecco the Dolphin", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Ecco Jr.", "game_title": "Ecco Jr.", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Ecco - The Tides of Time", "game_title": "Ecco - The Tides of Time", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Dynamite Headdy", "game_title": "Dynamite Headdy", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Dr. Robotnik's Mean Bean Machine", "game_title": "Dr. Robotnik's Mean Bean Machine", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "DEcapAttack", "game_title": "DEcapAttack", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Crack Down", "game_title": "Crack Down", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Comix Zone", "game_title": "Comix Zone", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Columns", "game_title": "Columns", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Columns III", "game_title": "Columns III", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Bonanza Bros.", "game_title": "Bonanza Bros.", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Bio Hazard Battle", "game_title": "Bio Hazard Battle", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Beyond Oasis", "game_title": "Beyond Oasis", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Altered Beast", "game_title": "Altered Beast", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Alien Storm", "game_title": "Alien Storm", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Alien Soldier", "game_title": "Alien Soldier", "license_info": {"license_type": "SinglePurchase"}}, {"game_id": "Alex Kidd in the Enchanted Castle", "game_title": "Alex Kidd in the Enchanted Castle", "license_info": {"license_type": "SinglePurchase"}}]}}
Ok, thanks for the report. Should be done with #54 , maybe also some escaping in SQL - passing to Galaxy team to prepare list of allowed characters in ids.
I was trying to import games with the Retroarch Sega Genesis plugin, and ran into an issue where no games were being displayed. I found in the GalaxyClient.log the following
Failed to check and update ownerships locally: Invalid SQL statement
This was after all the game names were parsed. I believe the issue was with the the following game name
Sonic 3D Blast ~ Sonic 3D Flickies' Island
After removing the apostrophe, I was able to resync all of the games.