Source code for shuup.core.settings_provider

from django.conf import settings

from shuup.apps.provides import get_provide_objects


[docs] class BaseSettingsProvider: provided_settings = []
[docs] def offers(self, setting_key): return bool(setting_key in self.provided_settings)
[docs] def get_setting_value(self, setting_key): return None
[docs] class ShuupSettings:
[docs] @classmethod def get_setting(cls, setting_key): for provider_cls in get_provide_objects("shuup_settings_provider"): provider = provider_cls() if provider.offers(setting_key): return provider.get_setting_value(setting_key) return getattr(settings, setting_key)