Author: SmileyChris
Date: 2012-02-21 16:52:19 -0800 (Tue, 21 Feb 2012)
New Revision: 17572

Modified:
   django/branches/releases/1.3.X/django/conf/__init__.py
   django/branches/releases/1.3.X/tests/regressiontests/settings_tests/tests.py
   django/branches/releases/1.3.X/tests/regressiontests/templates/tests.py
Log:
[1.3.X] Don't let ALLOWED_INCLUDE_ROOTS be accidentally set to a string rather 
than a tuple.

Backport of r17571 from trunk.

Modified: django/branches/releases/1.3.X/django/conf/__init__.py
===================================================================
--- django/branches/releases/1.3.X/django/conf/__init__.py      2012-02-22 
00:42:19 UTC (rev 17571)
+++ django/branches/releases/1.3.X/django/conf/__init__.py      2012-02-22 
00:52:19 UTC (rev 17572)
@@ -70,6 +70,9 @@
         if name in ("MEDIA_URL", "STATIC_URL") and value and not 
value.endswith('/'):
             warnings.warn('If set, %s must end with a slash' % name,
                           PendingDeprecationWarning)
+        elif name == "ALLOWED_INCLUDE_ROOTS" and isinstance(value, basestring):
+            raise ValueError("The ALLOWED_INCLUDE_ROOTS setting must be set "
+                "to a tuple, not a string.")
         object.__setattr__(self, name, value)
 
 

Modified: 
django/branches/releases/1.3.X/tests/regressiontests/settings_tests/tests.py
===================================================================
--- 
django/branches/releases/1.3.X/tests/regressiontests/settings_tests/tests.py    
    2012-02-22 00:42:19 UTC (rev 17571)
+++ 
django/branches/releases/1.3.X/tests/regressiontests/settings_tests/tests.py    
    2012-02-22 00:52:19 UTC (rev 17572)
@@ -18,6 +18,13 @@
     def test_settings_delete_wrapped(self):
         self.assertRaises(TypeError, delattr, settings, '_wrapped')
 
+    def test_allowed_include_roots_string(self):
+        """
+        ALLOWED_INCLUDE_ROOTS is not allowed to be incorrectly set to a string
+        rather than a tuple.
+        """
+        self.assertRaises(ValueError, setattr, settings,
+            'ALLOWED_INCLUDE_ROOTS', '/var/www/ssi/')
 
 class TrailingSlashURLTests(unittest.TestCase):
     settings_module = settings

Modified: 
django/branches/releases/1.3.X/tests/regressiontests/templates/tests.py
===================================================================
--- django/branches/releases/1.3.X/tests/regressiontests/templates/tests.py     
2012-02-22 00:42:19 UTC (rev 17571)
+++ django/branches/releases/1.3.X/tests/regressiontests/templates/tests.py     
2012-02-22 00:52:19 UTC (rev 17572)
@@ -412,7 +412,9 @@
 
         #Set ALLOWED_INCLUDE_ROOTS so that ssi works.
         old_allowed_include_roots = settings.ALLOWED_INCLUDE_ROOTS
-        settings.ALLOWED_INCLUDE_ROOTS = 
os.path.dirname(os.path.abspath(__file__))
+        settings.ALLOWED_INCLUDE_ROOTS = (
+            os.path.dirname(os.path.abspath(__file__)),
+        )
 
         # Warm the URL reversing cache. This ensures we don't pay the cost
         # warming the cache during one of the tests.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to