11 lines
481 B
Python
11 lines
481 B
Python
from functools import lru_cache
|
|
from django.conf import settings
|
|
from django.utils.module_loading import import_string
|
|
from .base import SMSProvider
|
|
@lru_cache(maxsize=1)
|
|
def get_sms_provider():
|
|
provider_class=import_string(settings.SMS_PROVIDER_CLASS)
|
|
if not issubclass(provider_class,SMSProvider): raise TypeError("SMS_PROVIDER_CLASS باید از SMSProvider ارثبری کند.")
|
|
return provider_class()
|
|
def reset_sms_provider(): get_sms_provider.cache_clear()
|