all unittests pass, the special and dependency lookups have their own visitors now, with `self` one can get a reference to the current template and render blocks multiple times.
--HG--
branch : trunk
diff --git a/jinja2/filters.py b/jinja2/filters.py
index 801b350..c4c108e 100644
--- a/jinja2/filters.py
+++ b/jinja2/filters.py
@@ -581,8 +581,7 @@
in common.
"""
expr = lambda x: environment.subscribe(x, attribute)
- return sorted(map(_GroupTuple, groupby(sorted(value, key=expr), expr)),
- key=itemgetter('grouper'))
+ return sorted(map(_GroupTuple, groupby(sorted(value, key=expr), expr)))
class _GroupTuple(tuple):
@@ -590,6 +589,9 @@
grouper = property(itemgetter(0))
list = property(itemgetter(1))
+ def __new__(cls, (key, value)):
+ return tuple.__new__(cls, (key, list(value)))
+
FILTERS = {
'replace': do_replace,