Skip to content

[ROMM-2997] Fix HLTB saerch term fetching#2998

Merged
gantoine merged 1 commit intomasterfrom
romm-2997
Feb 6, 2026
Merged

[ROMM-2997] Fix HLTB saerch term fetching#2998
gantoine merged 1 commit intomasterfrom
romm-2997

Conversation

@gantoine
Copy link
Copy Markdown
Member

@gantoine gantoine commented Feb 6, 2026

Description
Explain the changes or enhancements you are proposing with this pull request.

Fixes #2997

Checklist
Please check all that apply.

  • I've tested the changes locally
  • I've updated relevant comments
  • I've assigned reviewers for this PR
  • I've added unit tests that cover the changes

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @gantoine, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses an issue with how search terms are handled when querying the HowLongToBeat (HLTB) API. The primary modification involves adjusting the search payload to send individual words from a search query, rather than the entire phrase as a single term, which is expected to yield more precise search results. Additionally, a minor internal refactoring was performed to standardize the construction of a search initialization URL.

Highlights

  • HLTB Search Term Processing: The search_games method in hltb_handler.py now splits the incoming search_term into individual words before sending it to the HLTB API. This change ensures that the API receives a list of keywords rather than a single phrase, which is expected to improve the accuracy and relevance of search results.
  • URL Construction Refinement: The search_init_url in hltb_handler.py has been refactored to derive its path from the already defined self.search_url, making the URL construction more consistent and less redundant.
Changelog
  • backend/handler/metadata/hltb_handler.py
    • Refactored the search_init_url to use self.search_url for consistency.
    • Modified the search_games method to split the search_term by spaces for the HLTB API payload, improving search accuracy.
Activity
  • The pull request was created by gantoine to fix issue ROMM-2997, related to HLTB search term fetching.
  • The author has confirmed local testing of the changes.
  • Reviewers have been assigned for this pull request.
  • No further review comments or activity have been recorded yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request aims to fix how search terms are fetched for HowLongToBeat. The changes correctly update the search_init_url to be relative to the dynamic search_url, which is a good improvement for maintainability. The PR also modifies how search terms are prepared for the API request. I've provided one suggestion to make the splitting of search terms more robust against different whitespace patterns, which will improve the reliability of the search functionality.

payload = {
"searchType": "games",
"searchTerms": [search_term],
"searchTerms": search_term.split(" "),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using search_term.split(" ") can produce empty strings in the searchTerms list if the input search_term contains multiple spaces between words (e.g., "Game Name".split(" ") results in ['Game', '', 'Name']). This might cause unexpected behavior from the HLTB API.

To make this more robust, I recommend using search_term.split() without arguments. It handles any amount of whitespace and correctly discards empty strings.

Suggested change
"searchTerms": search_term.split(" "),
"searchTerms": search_term.split(),

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 6, 2026

Test Results

801 tests  ±0   800 ✅ ±0   2m 3s ⏱️ ±0s
  1 suites ±0     1 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit efb157a. ± Comparison against base commit 257d0ef.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 6, 2026

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
12854 8479 66% 0% 🟢

New Files

No new covered files...

Modified Files

File Coverage Status
backend/handler/metadata/hltb_handler.py 48% 🟢
TOTAL 48% 🟢

updated for commit: efb157a by action🐍

@gantoine gantoine merged commit a902950 into master Feb 6, 2026
8 checks passed
@gantoine gantoine deleted the romm-2997 branch February 6, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] HowLongToBeat metadata not being retrieved/displayed after scan

1 participant