work around a pylons oddity
authorArmin Ronacher <armin.ronacher@active-4.com>
Mon, 24 Dec 2007 14:59:47 +0000 (15:59 +0100)
committerArmin Ronacher <armin.ronacher@active-4.com>
Mon, 24 Dec 2007 14:59:47 +0000 (15:59 +0100)
--HG--
branch : trunk

jinja/utils.py

index 7fe5d2ebf656e8623dbf35b38548ad537a906189..9444c5cb39048bf3bd321d38670eb477e2803128 100644 (file)
@@ -200,8 +200,12 @@ def get_attribute(obj, name):
     if getattr(obj, '__class__', None) in callable_types and \
        name.startswith('func_') or name.startswith('im_'):
         raise SecurityException('not allowed to access function attributes')
+
     r = _getattr(obj, 'jinja_allowed_attributes', None)
-    if r is not None and name not in r:
+    # the empty string check is for pylons which returns empty strings on
+    # it's stacked something foobar object
+    if r not in (None, '') and name not in r:
+        print "broken here"
         raise SecurityException('disallowed attribute accessed')
 
     # attribute lookups convert unicode strings to ascii bytestrings.