mirror of
https://github.com/kennethreitz/simplemind.git
synced 2026-06-05 22:50:18 +00:00
Refactor find_provider function to improve error handling
This commit is contained in:
+10
-5
@@ -5,6 +5,7 @@ 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."""
|
||||
if provider_name:
|
||||
@@ -12,10 +13,14 @@ def find_provider(provider_name: Union[str, None]):
|
||||
if provider_class.NAME.lower() == provider_name.lower():
|
||||
# Instantiate the provider
|
||||
return provider_class()
|
||||
|
||||
provider_found = difflib.get_close_matches(provider_name.lower(), _PROVIDER_NAMES, 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]}'?")
|
||||
raise ValueError(
|
||||
f"Provider {provider_name!r} not found. Did you mean {provider_found[0]!r}?"
|
||||
)
|
||||
else:
|
||||
raise ValueError(f"Provider {provider_name} not found.")
|
||||
raise ValueError(f"Provider {provider_name} not found.")
|
||||
|
||||
Reference in New Issue
Block a user