Merge pull request #17 from fcoagz/main

Suggest some similar provider in find_provider function
This commit is contained in:
2024-10-30 09:09:31 -04:00
committed by GitHub
+9 -1
View File
@@ -1,7 +1,9 @@
import difflib
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."""
@@ -10,4 +12,10 @@ def find_provider(provider_name: Union[str, None]):
if provider_class.NAME.lower() == provider_name.lower():
# Instantiate the provider
return provider_class()
raise ValueError(f"Provider {provider_name} not found")
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]}'?")
else:
raise ValueError(f"Provider {provider_name} not found.")