LizardByte / RetroArcher-plex

RetroArcher metadata plugin for Plex.
GNU Affero General Public License v3.0
199 stars 7 forks source link

[FEATURE REQUEST] Alternate name matching and fix match #6

Closed ReenigneArcher closed 3 years ago

ReenigneArcher commented 3 years ago

Is your feature request related to a problem or just thought of something cool? Please describe. Roms with alternate names, such as region specific names, don't match well with IGDB.

Describe the solution you'd like Search using the alternate name end point in the api instead of exact matching.

Describe alternatives you've considered Build a complete rom name dictionary matching each rom name to it's appropriate id on each database. This would take a ton of manpower and be nearly impossible.

ReenigneArcher commented 3 years ago

image https://discord.com/channels/114736716505546761/193371711180242944/806076170080747550

ReenigneArcher commented 3 years ago

Add manual matching method. Very similar to this issue, so just looping it in here.

User will need to provide a platform in the search term as when a manual search is done Plex cannot use the filename of the media... :(

Just split the search by a \ or \, for example nintendo 64\my awesome game search or `nintendo 64\my awesome game search'

We could limit the search to a specific year? I.E. Only add it to the results if the year matches the input year (don't actually change the search method on IGDB). Probably not recommended as some games have multiple release dates.

ReenigneArcher commented 3 years ago

This seems relevant. image

Use it to improve how we do the score generation.

Also, it appears the search already searches the game name, alternative names, and description, so not necessary to have a second search method.

Let's create a list of names, then for each name do the query... If it's not already in the results then add it.

search using original game name
search again replacing ' -' character with ':'
search again removing ' -' character
search again removing everything before ' -' character if it exists
only add if the id isn't already in the list
ReenigneArcher commented 3 years ago

Matching algorithm improved greatly.

Still need to add manual match method for IGDB... how to handle versions?

ReenigneArcher commented 3 years ago

Fix match has been added.

This is how to fix match. The title will be separated by \.

The first item needs to be the platform name. The code is very forgiving on this. You could enter: PS1, PlayStation, Sony Playstation, pLaYsTaTiOn, ps, Playstation 1, or Sony Playstation 1

The second item in the title needs to be the search term you want to you. This should match the database name as closely as possible.

The third and final term is optional. But here is where you would enter any version information about the game. If this is omitted the version tags will not appear in the title on Plex. It will appear exactly as you enter it. So if you want (USA) in your title enter that and not just USA.

ReenigneArcher commented 3 years ago

Search apparently does not search alternative name... need to re-open this.

Maybe in the future just scrape the entire database and serve it up ourselves.

image image

ReenigneArcher commented 3 years ago

Re-added a secondary call for alternative names... hopefully IGDB fixes their search function to include alternative names by default.

ReenigneArcher commented 3 years ago

Fix match has been added.

This is how to fix match. The title will be separated by \.

The first item needs to be the platform name. The code is very forgiving on this. You could enter: PS1, PlayStation, Sony Playstation, pLaYsTaTiOn, ps, Playstation 1, or Sony Playstation 1

The second item in the title needs to be the search term you want to you. This should match the database name as closely as possible.

The third and final term is optional. But here is where you would enter any version information about the game. If this is omitted the version tags will not appear in the title on Plex. It will appear exactly as you enter it. So if you want (USA) in your title enter that and not just USA.

Further improved fix match... no longer requires platform prefix or version suffix. We are now getting this from the media filename!