gateway.py 639 B

1234567891011121314151617181920212223242526
  1. from django.conf import settings as dj_settings
  2. from . import defaults
  3. from .dbsettings import db_settings
  4. class SettingsGateway(object):
  5. def __getattr__(self, name):
  6. from . import ENABLE_GLOBAL_STATE
  7. if not ENABLE_GLOBAL_STATE and name.lower() == name:
  8. raise Exception("Trying to access dynamic setting: %s" % name)
  9. try:
  10. return getattr(dj_settings, name)
  11. except AttributeError:
  12. pass
  13. try:
  14. return getattr(defaults, name)
  15. except AttributeError:
  16. pass
  17. return getattr(db_settings, name)
  18. settings = SettingsGateway()