Add ScreenScraper metadata proxy support via Hasheous#3674
Draft
gantoine wants to merge 1 commit into
Draft
Conversation
Generated-By: PostHog Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
Adds ScreenScraper metadata fetching through the Hasheous proxy as a credential-free fallback when users don't have their own ScreenScraper account. This leverages new Hasheous endpoints for game metadata lookups by hash or game ID.
What changed?
Hasheous Handler Enhancement: Added
get_ss_game()andget_ss_rom_by_id()methods to fetch ScreenScraper metadata through the Hasheous proxy endpoint (/MetadataProxy/ScreenScraper/jeuInfos.php)get_ss_game()performs hash-based lookups (MD5, SHA1, CRC) with file size and name as fallbacksget_ss_rom_by_id()refetches metadata by existing game IDbuild_ss_game()to maintain consistent metadata structureScan Handler Integration: Updated ROM scanning logic to fall back to Hasheous ScreenScraper proxy when:
meta_ss_handlernot enabled)File Filtering: Implemented platform-specific file extension filtering for hash-based lookups, selecting the largest valid file as most likely to contain the main ROM
Test Coverage: Added comprehensive unit tests for the Hasheous ScreenScraper proxy functionality
Checklist
Created with PostHog Code