summaryrefslogtreecommitdiff
path: root/jinja2/runtime.py
diff options
context:
space:
mode:
authorArmin Ronacher <armin.ronacher@active-4.com>2010-11-19 13:51:38 +0100
committerArmin Ronacher <armin.ronacher@active-4.com>2010-11-19 13:51:38 +0100
commit6a3e95d008ac1e3cc893a949ac94ec4ba9c63d7d (patch)
treebde7034123bada734432b704510617cb317bcea1 /jinja2/runtime.py
parentab014bda663ae7bdcd8e2cddd82f57e4de39c376 (diff)
downloadjinja2-6a3e95d008ac1e3cc893a949ac94ec4ba9c63d7d.tar.gz
Undefineds now support attribute errors for special attributes. This fixes #6
Diffstat (limited to 'jinja2/runtime.py')
-rw-r--r--jinja2/runtime.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/jinja2/runtime.py b/jinja2/runtime.py
index 6fea3aa..9bdeb01 100644
--- a/jinja2/runtime.py
+++ b/jinja2/runtime.py
@@ -458,11 +458,17 @@ class Undefined(object):
hint = self._undefined_hint
raise self._undefined_exception(hint)
+ @internalcode
+ def __getattr__(self, name):
+ if name[:2] == '__':
+ raise AttributeError(name)
+ return self._fail_with_undefined_error()
+
__add__ = __radd__ = __mul__ = __rmul__ = __div__ = __rdiv__ = \
__truediv__ = __rtruediv__ = __floordiv__ = __rfloordiv__ = \
__mod__ = __rmod__ = __pos__ = __neg__ = __call__ = \
- __getattr__ = __getitem__ = __lt__ = __le__ = __gt__ = __ge__ = \
- __int__ = __float__ = __complex__ = __pow__ = __rpow__ = \
+ __getitem__ = __lt__ = __le__ = __gt__ = __ge__ = __int__ = \
+ __float__ = __complex__ = __pow__ = __rpow__ = \
_fail_with_undefined_error
def __str__(self):