import importlib from django.conf import settings from dbsettings.functions import getValue 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: modules_available.append(mos.CREATE) 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