-
-
Notifications
You must be signed in to change notification settings - Fork 249
[ROMM-2142] Custom SGDB title match #2220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Running Code Quality on PRs by uploading data to Trunk will soon be removed. You can still run checks on your PRs using trunk-action - see the migration guide for more information. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR removes the Levenshtein library dependency and replaces it with a custom implementation using Python's built-in difflib module, while also improving the game title matching algorithm with a multi-metric similarity scoring system.
- Removes external Levenshtein dependency and implements custom distance calculation
- Introduces advanced title similarity matching using token overlap, sequence matching, and Levenshtein distance
- Refines matching thresholds and adds detailed logging for better debugging
Reviewed Changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 3 comments.
File | Description |
---|---|
pyproject.toml | Removes the Levenshtein library dependency |
backend/handler/metadata/sgdb_handler.py | Implements custom Levenshtein distance function and enhanced similarity matching algorithm |
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified Files
|
Description
Explain the changes or enhancements you are proposing with this pull request.
This PR changes SGDB matching to use a custom algorithm that mixes token overlap, sequence similarity and (custom) Levenshtein distance with different ratios to match the most likely game.
Fix #2142
Checklist
Please check all that apply.