Move module name to the namespace
This commit is contained in:
@@ -16,14 +16,13 @@ def is_superuser(context):
|
|||||||
|
|
||||||
|
|
||||||
class SettingNamespace(object):
|
class SettingNamespace(object):
|
||||||
def __init__(self, name, label):
|
def __init__(self, name, label, module):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.label = label
|
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}
|
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')
|
register_links(['about_view'], [link], menu_name='sidebar')
|
||||||
|
|
||||||
print 'namespace', self
|
|
||||||
|
|
||||||
namespace_list.append(self)
|
namespace_list.append(self)
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
@@ -34,7 +33,7 @@ class SettingNamespace(object):
|
|||||||
|
|
||||||
|
|
||||||
class Setting(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.namespace = namespace
|
||||||
self.name = name
|
self.name = name
|
||||||
self.global_name = global_name
|
self.global_name = global_name
|
||||||
@@ -48,54 +47,10 @@ class Setting(object):
|
|||||||
|
|
||||||
# Create the local entity
|
# Create the local entity
|
||||||
try:
|
try:
|
||||||
setattr(module, name, value)
|
self.module = namespace.module
|
||||||
self.module = module
|
setattr(self.module, name, value)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
self.module = import_module(module)
|
self.module = import_module(namespace.module)
|
||||||
setattr(self.module, name, value)
|
setattr(self.module, name, value)
|
||||||
|
|
||||||
settings_list.append(self)
|
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),
|
|
||||||
)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user