Fixed #12744 -- Improved the settings cleansing process the work with dictionary settings that are keyed by non-strings. Thanks to minmax for the report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12361 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2010-01-31 23:38:17 +00:00
parent ee3132078d
commit 1f305a00a0
1 changed files with 10 additions and 6 deletions

View File

@ -26,13 +26,17 @@ def cleanse_setting(key, value):
If the value is a dictionary, recursively cleanse the keys in
that dictionary.
"""
if HIDDEN_SETTINGS.search(key):
cleansed = '********************'
else:
if isinstance(value, dict):
cleansed = dict((k, cleanse_setting(k, v)) for k,v in value.items())
try:
if HIDDEN_SETTINGS.search(key):
cleansed = '********************'
else:
cleansed = value
if isinstance(value, dict):
cleansed = dict((k, cleanse_setting(k, v)) for k,v in value.items())
else:
cleansed = value
except TypeError:
# If the key isn't regex-able, just return as-is.
cleansed = value
return cleansed
def get_safe_settings():