diff options
author | Armin Ronacher <armin.ronacher@active-4.com> | 2010-11-19 13:51:38 +0100 |
---|---|---|
committer | Armin Ronacher <armin.ronacher@active-4.com> | 2010-11-19 13:51:38 +0100 |
commit | 6a3e95d008ac1e3cc893a949ac94ec4ba9c63d7d (patch) | |
tree | bde7034123bada734432b704510617cb317bcea1 /jinja2/runtime.py | |
parent | ab014bda663ae7bdcd8e2cddd82f57e4de39c376 (diff) | |
download | jinja2-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.py | 10 |
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): |