From 24296bfe32ada44f20997692bf6e5b5dc83346af Mon Sep 17 00:00:00 2001 From: Ales Zoulek Date: Tue, 24 Aug 2010 11:40:58 +0200 Subject: [PATCH] fixed imports, optional django dependency --- constance/config.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/constance/config.py b/constance/config.py index 998c55c..c272802 100644 --- a/constance/config.py +++ b/constance/config.py @@ -1,13 +1,16 @@ +import os import redis -from django.conf import settings -from django.utils.importlib import import_module - try: from cPickle import loads, dumps except ImportError: from pickle import loads, dumps +def import_module(path): + package, module = path.rsplit('.', 1) + return getattr(__import__(package, None, None, [module]), module) + +settings = import_module(os.getenv('CONSTANCE_SETTINGS_MODULE', 'django.conf.settings')) class Config(object): @@ -15,8 +18,7 @@ class Config(object): def __init__(self): super(Config, self).__setattr__('_prefix', getattr(settings, 'CONSTANCE_PREFIX', 'constance:')) try: - module, class_ = settings.CONSTANCE_CONNECTION_CLASS.rsplit('.') - super(Config, self).__setattr__('_rd', getattr(import_module(module), class_)()) + super(Config, self).__setattr__('_rd', import_module(settings.CONSTANCE_CONNECTION_CLASS)()) except AttributeError: super(Config, self).__setattr__('_rd', redis.Redis(**settings.CONSTANCE_CONNECTION))