From 4b984cd600826125629ba31c25016df875ff72b4 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 6 Mar 2012 16:09:01 -0400 Subject: [PATCH] Move module name to the namespace --- apps/smart_settings/api.py | 57 ++++---------------------------------- 1 file changed, 6 insertions(+), 51 deletions(-) diff --git a/apps/smart_settings/api.py b/apps/smart_settings/api.py index 07cb0bf81b..154ad6d5a2 100644 --- a/apps/smart_settings/api.py +++ b/apps/smart_settings/api.py @@ -16,14 +16,13 @@ def is_superuser(context): class SettingNamespace(object): - def __init__(self, name, label): + def __init__(self, name, label, module): self.name = name self.label = label + self.module = module link = {'text': 'LINK', 'view': 'settings_list', 'args': name, 'famfam': 'pencil_add'}#, 'permissions': [PERMISSION_SIGNATURE_UPLOAD], 'conditional_disable': has_embedded_signature} register_links(['about_view'], [link], menu_name='sidebar') - print 'namespace', self - namespace_list.append(self) def __unicode__(self): @@ -34,7 +33,7 @@ class SettingNamespace(object): class Setting(object): - def __init__(self, namespace, module, name, global_name, default, description=None, hidden=False, exists=False): + def __init__(self, namespace, name, global_name, default, description=u'', hidden=False, exists=False): self.namespace = namespace self.name = name self.global_name = global_name @@ -48,54 +47,10 @@ class Setting(object): # Create the local entity try: - setattr(module, name, value) - self.module = module + self.module = namespace.module + setattr(self.module, name, value) except AttributeError: - self.module = import_module(module) + self.module = import_module(namespace.module) setattr(self.module, name, value) settings_list.append(self) - - -def register_setting(namespace, module, name, global_name, default, exists=False, description=u'', hidden=False): - # Create namespace if it doesn't exists - settings.setdefault(namespace, []) - - # If passed a string and not a module, import it - if isinstance(module, basestring): - module = import_module(module) - - setting = { - 'module': module, - 'name': name, - 'global_name': global_name, - 'exists': exists, - 'description': description, - 'default': default, - 'hidden': hidden, - } - - # Avoid multiple appends - if setting not in settings[namespace]: - settings[namespace].append(setting) - - # Get the global value - value = getattr(django_settings, global_name, default) - - # Create the local entity - setattr(module, name, value) - return value - - -def register_settings(namespace, module, settings): - for setting in settings: - register_setting( - namespace, - module, - setting['name'], - setting['global_name'], - setting['default'], - setting.get('exists', False), - setting.get('description', u''), - setting.get('hidden', False), - )