mirror of
https://github.com/jazzband/django-constance.git
synced 2026-03-16 22:40:24 +00:00
changed the default attribute access
This commit is contained in:
parent
1d47906eb5
commit
8771e43e69
1 changed files with 5 additions and 8 deletions
|
|
@ -8,24 +8,21 @@ from django.utils.importlib import import_module
|
|||
class Config(object):
|
||||
|
||||
def __init__(self):
|
||||
super(Config, self).__setattr__('_prefix', getattr(settings.CONSTANCE_PREFIX, 'constance:')
|
||||
try:
|
||||
module, class_ = settings.CONSTANCE_CONNECTION_CLASS.rsplit('.')
|
||||
self._rd = getattr(import_module(module), class_)()
|
||||
super(Config, self).__setattr__('_rd', getattr(import_module(module), class_)())
|
||||
except AttributeError:
|
||||
self._rd = redis.Redis(**settings.CONSTANCE_CONNECTION)
|
||||
super(Config, self).__setattr__('_rd', redis.Redis(**settings.CONSTANCE_CONNECTION))
|
||||
|
||||
def __getattr__(self, key):
|
||||
if key.startswith('_'):
|
||||
return super(Config, self).__getattr__(key, value)
|
||||
default, decode, help_text = settings.CONSTANCE_CONFIG[key]
|
||||
result = self._rd.get("%s%s" % (self.prefix, key))
|
||||
result = self._rd.get("%s%s" % (self._prefix, key))
|
||||
if result is None:
|
||||
result = default
|
||||
setattr(self, key, default)
|
||||
return decode(result)
|
||||
|
||||
def __setattr__(self, key, value):
|
||||
if key.startswith('_'):
|
||||
return super(Config, self).__setattr__(key, value)
|
||||
self._rd.set("%s%s" % (self.prefix, key), value)
|
||||
self._rd.set("%s%s" % (self._prefix, key), value)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue