-
-
Notifications
You must be signed in to change notification settings - Fork 247
Use best-match algo for more providers #2231
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. |
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified Files
|
c144bef
to
afaef09
Compare
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 implements a best-match algorithm using Jaro-Winkler similarity to improve game matching accuracy across multiple metadata providers. It replaces exact string matching with fuzzy matching to better handle variations in game titles.
- Replaced exact string matching with Jaro-Winkler fuzzy matching across metadata handlers
- Simplified search term splitting logic using regex patterns
- Added conditional score display in the frontend to handle "None" values
Reviewed Changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 5 comments.
Show a summary per file
File | Description |
---|---|
pyproject.toml | Added strsimpy dependency for Jaro-Winkler string similarity |
frontend/src/components/Details/Title.vue | Added null check for moby_score to prevent displaying "None" |
backend/handler/metadata/base_hander.py | Added find_best_match method using Jaro-Winkler algorithm |
backend/handler/metadata/ss_handler.py | Replaced exact matching with best-match algorithm and simplified search term splitting |
backend/handler/metadata/sgdb_handler.py | Removed custom similarity calculations, using new base class method |
backend/handler/metadata/moby_handler.py | Replaced exact matching with best-match algorithm and simplified search term splitting |
backend/handler/metadata/igdb_handler.py | Replaced exact matching with best-match algorithm |
Description
Explain the changes or enhancements you are proposing with this pull request.
This PR implements a best-match algorithm using Jaro-Winkler similarity across multiple metadata providers to improve game matching accuracy. The change replaces exact string matching with fuzzy matching to better handle variations in game titles.
Checklist
Please check all that apply.