This commit is contained in:
Ales Zoulek 2010-08-23 14:50:32 +02:00
commit cfd63daddc
2 changed files with 6 additions and 9 deletions

View file

@ -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)

View file

@ -3,7 +3,7 @@ from setuptools import setup, find_packages
setup(
name='django-constance',
version=os.environ.get('VERSION', '0.0.1'),
version='0.0.1',
description='Django live settings stored in redis',
author='Comoga Django Team',
author_email='comoga@bitbucket.org',