Use rapidfuzz to compare strings

This commit is contained in:
lexitronic
2025-08-17 04:19:36 -04:00
parent d81c57e357
commit 236a19a8ef
2 changed files with 4 additions and 3 deletions

View File

@@ -64,14 +64,14 @@ from deezspot.models.callback.album import albumObject as albumCbObject
from deezspot.models.callback.playlist import playlistObject as playlistCbObject from deezspot.models.callback.playlist import playlistObject as playlistCbObject
from deezspot.models.callback.common import IDs from deezspot.models.callback.common import IDs
from deezspot.models.callback.user import userObject from deezspot.models.callback.user import userObject
from rapidfuzz import fuzz
def _sim(a: str, b: str) -> float: def _sim(a: str, b: str) -> float:
a = (a or '').strip().lower() a = (a or '').strip().lower()
b = (b or '').strip().lower() b = (b or '').strip().lower()
if not a or not b: if not a or not b:
return 0.0 return 0.0
return SequenceMatcher(None, a, b).ratio() return fuzz.partial_ratio(a, b) / 100
# Clean for searching on Deezer # Clean for searching on Deezer
def _remove_parentheses(string: str) -> str: def _remove_parentheses(string: str) -> str:

View File

@@ -27,6 +27,7 @@ setup(
"fastapi==0.116.1", "fastapi==0.116.1",
"uvicorn[standard]==0.35.0", "uvicorn[standard]==0.35.0",
"spotipy-anon==1.5.2", "spotipy-anon==1.5.2",
"librespot-spotizerr==0.3.0" "librespot-spotizerr==0.3.0",
"rapidfuzz"
], ],
) )