From: Dick Visser Date: Thu, 9 Mar 2017 20:37:42 +0000 (+0100) Subject: 'reverse' option for dictsort X-Git-Tag: 2.10~11^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=10fc8afc15b973ed3e547508e2bc160c3fbf8966;p=thirdparty%2Fjinja.git 'reverse' option for dictsort --- diff --git a/jinja2/filters.py b/jinja2/filters.py index da15a1a7..2496d3aa 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