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)