Refactor find_provider function to optimize provider name matching

This commit is contained in:
Francisco Griman
2024-10-30 02:10:18 -04:00
parent 1ecd4a4966
commit 9a5c7ff61b
+2 -2
View File
@@ -3,6 +3,7 @@ from typing import Union
from .providers import providers
_PROVIDER_NAMES = [provider.NAME.lower() for provider in providers]
def find_provider(provider_name: Union[str, None]):
"""Find a provider by name."""
@@ -12,8 +13,7 @@ def find_provider(provider_name: Union[str, None]):
# Instantiate the provider
return provider_class()
providers_name = [provider.NAME.lower() for provider in providers]
provider_found = difflib.get_close_matches(provider_name.lower(), providers_name, n=1) # Show only one suggestion
provider_found = difflib.get_close_matches(provider_name.lower(), _PROVIDER_NAMES, n=1) # Show only one suggestion
if provider_found:
raise ValueError(f"Provider {provider_name} not found. Maybe you try to use is '{provider_found[0]}'?")