[svn] fixed groupby (sorted has some weird behavior Oo)
authorArmin Ronacher <armin.ronacher@active-4.com>
Tue, 10 Jul 2007 18:51:47 +0000 (20:51 +0200)
committerArmin Ronacher <armin.ronacher@active-4.com>
Tue, 10 Jul 2007 18:51:47 +0000 (20:51 +0200)
--HG--
branch : trunk

jinja/filters.py

index 6407827c9fb5badd351f9f07b04f3a04d60e9d13..3551c57df8e11a1ea881b5ba84bc3968d3d8d12a 100644 (file)
@@ -10,6 +10,7 @@
 """
 import re
 from random import choice
+from operator import itemgetter
 from urllib import urlencode, quote
 from jinja.utils import urlize, escape, reversed, sorted, groupby
 from jinja.datastructure import TemplateData
@@ -877,10 +878,11 @@ def do_groupby(attribute):
     """
     def wrapped(env, context, value):
         expr = lambda x: env.get_attribute(x, attribute)
-        return [{
+        return sorted([{
             'grouper':  a,
             'list':     list(b)
-        } for a, b in sorted(groupby(sorted(value, key=expr), expr))]
+        } for a, b in groupby(sorted(value, key=expr), expr)],
+            key=itemgetter('grouper'))
     return wrapped