summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDick Visser <dick.visser@geant.org>2017-03-09 21:37:42 +0100
committerDavid Lord <davidism@gmail.com>2017-07-08 08:54:34 -0700
commit10fc8afc15b973ed3e547508e2bc160c3fbf8966 (patch)
tree9d1600fa7c6142d72c7da74dca118fa602ad6ca0
parent07c0b875e569414d1316c38ce6fbd1d199b6d66e (diff)
downloadjinja2-10fc8afc15b973ed3e547508e2bc160c3fbf8966.tar.gz
'reverse' option for dictsort
-rw-r--r--jinja2/filters.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/jinja2/filters.py b/jinja2/filters.py
index da15a1a..2496d3a 100644
--- a/jinja2/filters.py
+++ b/jinja2/filters.py
@@ -203,7 +203,7 @@ def do_title(s):
if item])
-def do_dictsort(value, case_sensitive=False, by='key'):
+def do_dictsort(value, case_sensitive=False, by='key', reverse=False):
"""Sort a dict and yield (key, value) pairs. Because python dicts are
unsorted you may want to use this function to order them by either
key or value:
@@ -213,6 +213,9 @@ def do_dictsort(value, case_sensitive=False, by='key'):
{% for item in mydict|dictsort %}
sort the dict by key, case insensitive
+ {% for item in mydict|dictsort(reverse=true) %}
+ sort the dict by key, case insensitive, reverse order
+
{% for item in mydict|dictsort(true) %}
sort the dict by key, case sensitive
@@ -232,7 +235,7 @@ def do_dictsort(value, case_sensitive=False, by='key'):
value = value.lower()
return value
- return sorted(value.items(), key=sort_func)
+ return sorted(value.items(), key=sort_func, reverse=reverse)
@environmentfilter