Commit Graph

119 Commits

Author SHA1 Message Date
Georges-Antoine Assi
fd86fc456e add note in scammvm map 2025-10-19 21:20:42 -04:00
Georges-Antoine Assi
06724c7a6f [ROMM-2424] Add special case for scummvm games in igdb handler 2025-10-19 21:11:48 -04:00
Georges-Antoine Assi
e4b7692fcd display paltform category and family 2025-10-19 09:35:50 -04:00
Georges-Antoine Assi
e20814a298 [ROMM-2546] Suborder consoles by generation 2025-10-19 09:08:48 -04:00
Georges-Antoine Assi
877145b339 consistent family names 2025-10-17 22:22:10 -04:00
Georges-Antoine Assi
df68dc9bd9 Merge both odyssey 2 platform 2025-10-03 16:28:02 -04:00
Georges-Antoine Assi
da10fffae3 change title of series xs platform 2025-10-03 16:25:59 -04:00
Georges-Antoine Assi
7a5185fe22 complete rest of handler 2025-09-20 19:38:26 -04:00
Georges-Antoine Assi
8c33a95637 remove hartbeat from bh endpoint 2025-09-20 17:57:38 -04:00
Georges-Antoine Assi
e9f7da09f9 add metadata status page and heartbeats 2025-09-20 09:19:15 -04:00
Georges-Antoine Assi
3c4113f8a8 Merge branch 'master' into flashpoint-metadata-handler 2025-09-11 21:27:48 -04:00
Georges-Antoine Assi
d7e85ba633 [ROMM-1333] Use metadata tag in filename to match game 2025-09-07 14:12:30 -04:00
Michael Manganiello
e4e3928d1b misc: Apply import sorting 2025-09-04 11:17:00 -03:00
Michael Manganiello
d216bad78b misc: Add MetadataHandler's is_enabled method
Convert `MetadataHandler` to an abstract base class and add an
`is_enabled` class method that allows every metadata handler to
independently report whether it is enabled based on its configuration.

This avoids the need for global variables in the config module, allowing
us to change the enabled state of a metadata handler at runtime if
needed.
2025-09-03 22:13:28 -03:00
Michael Manganiello
b2ea84b5bb misc: Create IGDB service adapter
Add a new service adapter for the IGDB API, to separate concerns with
RomM's handler for metadata. This adapter is agnostic to the handler and
only provides methods to interact with the API, and correctly return
typed responses.

The API authorization was also improved to not rely on decorating each
method that makes requests, but instead using an `aiohttp` middleware
to automatically add the required headers to each request.

Utils `mark_expanded` and `mark_list_expanded` where added to help
narrow the types of IGDB's expandable fields when we know they are
expanded, for `mypy` type checking.
2025-08-30 20:21:15 -03:00
Georges-Antoine Assi
ef2546ec08 fix base handler filename 2025-08-27 12:40:16 -04:00
Georges-Antoine Assi
ee0110699d fix id column type 2025-08-27 11:23:27 -04:00
Georges-Antoine Assi
d41a920c37 normalize split tiles for ssfr 2025-08-17 20:29:44 -04:00
Georges-Antoine Assi
f0574577c9 Prefer lower IDs when matching games with same title 2025-08-17 19:53:29 -04:00
Georges-Antoine Assi
659a3eb104 use jaro-winkler algo 2025-08-08 16:54:26 -04:00
Georges-Antoine Assi
1a2944806b Use best-match algo for more providers 2025-08-07 16:57:29 -04:00
Georges-Antoine Assi
90f10e8946 Fixed platform slugs that were missed 2025-08-06 17:28:10 -04:00
Georges-Antoine Assi
8ce943a514 use fastapi status 2025-08-02 22:17:07 -04:00
Georges-Antoine Assi
c2c80fbfc3 fix tests 2025-07-24 17:33:14 -04:00
Georges-Antoine Assi
1955da78f2 finish all the handlers 2025-07-24 17:05:39 -04:00
Georges-Antoine Assi
59a2e5d5aa move away from explicit LIST use 2025-07-24 16:41:17 -04:00
Georges-Antoine Assi
8a76528815 finish translating keys 2025-07-24 16:09:49 -04:00
Georges-Antoine Assi
b431aa4d7e manual fixes 2025-07-24 15:43:03 -04:00
Georges-Antoine Assi
39e6fd3579 use ups keys for all lists 2025-07-24 15:30:03 -04:00
Georges-Antoine Assi
1cc01922d9 comlpete migration and transition 2025-07-24 10:25:41 -04:00
Georges-Antoine Assi
1bb33be803 more work migrating slugs 2025-07-24 09:30:57 -04:00
Georges-Antoine Assi
973f42cd0b update watasra supervision 2025-07-23 22:20:18 -04:00
Georges-Antoine Assi
595c52bcab Unify singular slugs 2025-07-23 21:52:52 -04:00
Georges-Antoine Assi
3372b754fe Group generated platforms by slug and filter by name 2025-07-21 17:22:16 -04:00
Georges-Antoine Assi
73545ffa97 [HOTFIX] Fix uploading cover art manually 2025-07-18 23:32:17 -04:00
Georges-Antoine Assi
28bc570da1 fixup family name and slug on igdb games 2025-07-18 22:41:42 -04:00
Georges-Antoine Assi
58a0b15f00 refactor platforms drawer 2025-07-18 21:38:27 -04:00
Georges-Antoine Assi
d53f2c71d5 fix platform family names 2025-07-18 21:30:58 -04:00
Georges-Antoine Assi
6440dbd851 update roms_metadata virtual table 2025-07-15 11:07:13 -04:00
Georges-Antoine Assi
5d6ae2c842 stop overwriting IDs on scan 2025-07-14 10:31:19 -04:00
Georges-Antoine Assi
d1074553c4 add and use platform_slug in versions 2025-07-13 15:27:38 -04:00
Georges-Antoine Assi
cfe848e14a load all igsb platform data into app 2025-07-13 14:59:54 -04:00
Georges-Antoine Assi
c9b09e9ee1 better search term nomralization 2025-07-12 23:52:51 -04:00
Georges-Antoine Assi
3781cbdb6b catch json errors on all ends 2025-07-12 19:16:50 -04:00
Georges-Antoine Assi
d349eef42a add options to normalization 2025-07-12 10:48:04 -04:00
Georges-Antoine Assi
c76caed145 normalized search results 2025-07-12 09:56:18 -04:00
Georges-Antoine Assi
c1098fc16b Misc metadata fixes 2025-07-11 18:17:14 -04:00
Georges-Antoine Assi
837d36375d Fix metadata issues in heasheous handler 2025-07-09 09:14:41 -04:00
Georges-Antoine Assi
aea315ff24 complete hasheous proxy 2025-07-05 18:29:13 -04:00
Georges-Antoine Assi
41d7bf8f13 start using hasheous as igdb proxy 2025-06-18 10:08:20 -04:00