diff options
author | Dick Visser <dick.visser@geant.org> | 2017-03-09 21:37:42 +0100 |
---|---|---|
committer | David Lord <davidism@gmail.com> | 2017-07-08 08:54:34 -0700 |
commit | 10fc8afc15b973ed3e547508e2bc160c3fbf8966 (patch) | |
tree | 9d1600fa7c6142d72c7da74dca118fa602ad6ca0 | |
parent | 07c0b875e569414d1316c38ce6fbd1d199b6d66e (diff) | |
download | jinja2-10fc8afc15b973ed3e547508e2bc160c3fbf8966.tar.gz |
'reverse' option for dictsort
-rw-r--r-- | jinja2/filters.py | 7 |
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 |