2020-04-13 10:08:59 +00:00
|
|
|
import importlib
|
|
|
|
|
|
|
|
from django.conf import settings
|
|
|
|
|
2020-04-13 18:03:01 +00:00
|
|
|
from dbsettings.functions import getValue
|
2020-04-13 10:08:59 +00:00
|
|
|
|
|
|
|
providers = []
|
|
|
|
|
|
|
|
modules_available = []
|
|
|
|
|
|
|
|
for module in settings.EXPEPHALON_MODULES:
|
|
|
|
try:
|
|
|
|
mos = importlib.import_module(f"{module}.sms")
|
|
|
|
for provider in mos.SMSPROVIDERS:
|
|
|
|
providers.append(provider)
|
|
|
|
if mos.CREATE:
|
2020-04-13 18:03:01 +00:00
|
|
|
modules_available.append(mos.CREATE)
|
2020-04-13 10:08:59 +00:00
|
|
|
except (AttributeError, ModuleNotFoundError):
|
|
|
|
continue
|
|
|
|
|
|
|
|
def get_sms_provider_by_name(name):
|
|
|
|
for provider in providers:
|
|
|
|
if provider.name == name:
|
|
|
|
return provider
|
|
|
|
|
|
|
|
def get_default_sms_provider_name():
|
|
|
|
return getValue("core.sms.default", False)
|
|
|
|
|
|
|
|
def get_default_sms_provider():
|
|
|
|
name = get_default_sms_provider_name()
|
|
|
|
if name:
|
|
|
|
for provider in providers:
|
|
|
|
if provider.name == name and provider.is_active:
|
|
|
|
return provider
|
|
|
|
for provider in providers:
|
|
|
|
if provider.is_active:
|
|
|
|
return provider
|