mirror of
https://github.com/kennethreitz/simplemind.git
synced 2026-06-05 22:50:18 +00:00
Improve error handling in find_provider function to suggest similar provider names
This commit is contained in:
+9
-1
@@ -1,3 +1,4 @@
|
||||
import difflib
|
||||
from typing import Union
|
||||
|
||||
from .providers import providers
|
||||
@@ -10,4 +11,11 @@ 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")
|
||||
|
||||
providers_name = [provider.NAME.lower() for provider in providers]
|
||||
providers_founds = difflib.get_close_matches(provider_name.lower(), providers_name)
|
||||
|
||||
if providers_founds:
|
||||
raise ValueError(f"Provider {provider_name} not found. Maybe you try to use is '{providers_founds[0]}'?")
|
||||
else:
|
||||
raise ValueError(f"Provider {provider_name} not found.")
|
||||
Reference in New Issue
Block a user