Skip to content

[ROMM-2989] Split search term by |#2996

Merged
gantoine merged 2 commits intomasterfrom
romm-2989
Feb 6, 2026
Merged

[ROMM-2989] Split search term by |#2996
gantoine merged 2 commits intomasterfrom
romm-2989

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.

Split the search team by | char to match against multiple search terms.

Fixes #2989

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

Screenshots (if applicable)

Screenshot 2026-02-06 at 10 30 02 AM

@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 significantly improves the ROM search capability by allowing users to specify multiple search terms using the pipe | character as a delimiter. The system will now return ROMs that match any of the provided terms, offering greater flexibility and precision when searching for titles within the collection.

Highlights

  • Enhanced Search Functionality: The _filter_by_search_term method now supports multiple search terms separated by the | character, allowing users to search for ROMs matching any of the provided terms in either their file system name or display name.
  • Flexible Search Logic: The implementation splits the input search_term by |, strips whitespace from each individual term, and dynamically constructs an OR condition for Rom.fs_name and Rom.name for each valid term.
  • New Unit Tests: A new test case, test_filter_by_search_term_with_multiple_terms, has been added to verify the correct behavior of the multi-term search, including scenarios with multiple matches, no matches, and single terms.
Changelog
  • backend/handler/database/roms_handler.py
    • Refactored the _filter_by_search_term method to parse multiple search terms separated by |.
    • Implemented logic to strip whitespace from individual terms and build a dynamic or_ condition for filtering across Rom.fs_name and Rom.name.
  • backend/tests/handler/test_db_handler.py
    • Added a new test function test_filter_by_search_term_with_multiple_terms to validate the multi-term search functionality.
    • Included test cases for searching with multiple matching terms, a non-matching term, and a single term.
Activity
  • The author, gantoine, created this pull request to address issue [Feature] Multi search term smart collections #2989.
  • Local testing has been completed and relevant comments have been updated, as indicated by the checklist.
  • A screenshot demonstrating the new functionality was provided in the pull request description.
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 introduces a useful enhancement to the search functionality by allowing multiple search terms separated by a |. The implementation is sound and is accompanied by a comprehensive set of tests covering various scenarios. The provided suggestion to refactor the search logic using a list comprehension remains valid and would make the code more concise and Pythonic. Overall, this is a well-executed change.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 6, 2026

Test Results

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

Results for commit 37436fd.

♻️ This comment has been updated with latest results.

@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/database/roms_handler.py 55% 🟢
TOTAL 55% 🟢

updated for commit: 37436fd by action🐍

@gantoine gantoine merged commit a82e8c4 into master Feb 6, 2026
8 checks passed
@gantoine gantoine deleted the romm-2989 branch February 6, 2026 15:37
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.

[Feature] Multi search term smart collections

1 participant