subscribe doesn't eat up unicode errors any longer
--HG--
branch : trunk
diff --git a/jinja2/sandbox.py b/jinja2/sandbox.py
index c041a06..714a0e1 100644
--- a/jinja2/sandbox.py
+++ b/jinja2/sandbox.py
@@ -120,13 +120,18 @@
is_unsafe = False
if isinstance(argument, basestring):
try:
- value = getattr(obj, str(argument))
- except (AttributeError, UnicodeError):
+ attr = str(argument)
+ except:
pass
else:
- if self.is_safe_attribute(obj, argument, value):
- return value
- is_unsafe = True
+ try:
+ value = getattr(obj, attr)
+ except AttributeError:
+ pass
+ else:
+ if self.is_safe_attribute(obj, argument, value):
+ return value
+ is_unsafe = True
try:
return obj[argument]
except (TypeError, LookupError):