diff --git a/categories/settings.py b/categories/settings.py index c240610..9c03903 100644 --- a/categories/settings.py +++ b/categories/settings.py @@ -3,44 +3,32 @@ import warnings from django.conf import settings from django.db.models import Q -CATEGORIES_SETTINGS = { +DEFAULT_SETTINGS = { 'ALLOW_SLUG_CHANGE': False, 'CACHE_VIEW_LENGTH': 0, 'RELATION_MODELS': [], 'M2M_REGISTRY': [], - 'FK_REGISTRY': [] + 'FK_REGISTRY': [], + 'THUMBNAIL_UPLOAD_PATH': 'uploads/categories/thumbnails', } -CATEGORIES_SETTINGS.update(getattr(settings, 'CATEGORIES_SETTINGS', {})) +DEFAULT_SETTINGS.update(getattr(settings, 'CATEGORIES_SETTINGS', {})) + +ERR_MSG = "settings.%s is deprecated; use settings.CATEGORIES_SETTINGS instead." if hasattr(settings, 'CATEGORIES_ALLOW_SLUG_CHANGE'): - warnings.warn( - "settings.CATEGORIES_ALLOW_SLUG_CHANGE is deprecated; use settings.CATEGORIES_SETTINGS instead.", - DeprecationWarning - ) - ALLOW_SLUG_CHANGE = getattr(settings, 'CATEGORIES_ALLOW_SLUG_CHANGE') -else: - ALLOW_SLUG_CHANGE = CATEGORIES_SETTINGS['ALLOW_SLUG_CHANGE'] + warnings.warn(ERR_MSG % 'CATEGORIES_ALLOW_SLUG_CHANGE', DeprecationWarning) + DEFAULT_SETTINGS["ALLOW_SLUG_CHANGE"] = getattr(settings, 'CATEGORIES_ALLOW_SLUG_CHANGE') if hasattr(settings, 'CATEGORIES_CACHE_VIEW_LENGTH'): - warnings.warn( - "settings.CATEGORIES_CACHE_VIEW_LENGTH is deprecated; use settings.CATEGORIES_SETTINGS instead.", - DeprecationWarning - ) - CACHE_VIEW_LENGTH = getattr(settings, 'CATEGORIES_CACHE_VIEW_LENGTH') -else: - CACHE_VIEW_LENGTH = CATEGORIES_SETTINGS['CACHE_VIEW_LENGTH'] + warnings.warn(ERR_MSG % "CATEGORIES_CACHE_VIEW_LENGTH", DeprecationWarning) + DEFAULT_SETTINGS["CACHE_VIEW_LENGTH"] = getattr(settings, 'CATEGORIES_CACHE_VIEW_LENGTH') -if hasattr(settings, 'CATEGORIES_RELATION_MODELS'): - warnings.warn( - "settings.CATEGORIES_RELATION_MODELS is deprecated; use settings.CATEGORIES_SETTINGS instead.", - DeprecationWarning - ) - RELATION_MODELS = getattr(settings, 'CATEGORIES_RELATION_MODELS') -else: - RELATION_MODELS = CATEGORIES_SETTINGS['RELATION_MODELS'] +if hasattr(settings, 'CATEGORIES_THUMBNAIL_UPLOAD_PATH'): + warnings.warn(ERR_MSG % "CATEGORIES_THUMBNAIL_UPLOAD_PATH", DeprecationWarning) + DEFAULT_SETTINGS["THUMBNAIL_UPLOAD_PATH"] = getattr(settings, 'CATEGORIES_THUMBNAIL_UPLOAD_PATH') +RELATION_MODELS = getattr(settings, 'CATEGORIES_RELATION_MODELS', []) RELATIONS = [Q(app_label=al, model=m) for al, m in [x.split('.') for x in RELATION_MODELS]] -# For assigning a thumbnail to a category -THUMBNAIL_UPLOAD_PATH = getattr(settings, 'CATEGORIES_THUMBNAIL_UPLOAD_PATH', 'uploads/categories/thumbnails') +globals().update(DEFAULT_SETTINGS) \ No newline at end of file diff --git a/example/settings.py b/example/settings.py index 59b66d1..cf24a7b 100644 --- a/example/settings.py +++ b/example/settings.py @@ -88,5 +88,8 @@ INSTALLED_APPS = ( 'simpletext', ) #EDITOR_MEDIA_PATH = '/static/editor/' -CATEGORIES_ALLOW_SLUG_CHANGE = True + +CATEGORIES_SETTINGS = { + 'ALLOW_SLUG_CHANGE': True, +} CATEGORIES_RELATION_MODELS = ['simpletext.simpletext','flatpages.flatpage'] \ No newline at end of file