summaryrefslogtreecommitdiff
path: root/coverage/summary.py
diff options
context:
space:
mode:
authorJerin Peter George <jerinpetergeorge@gmail.com>2020-07-04 05:26:00 +0530
committerGitHub <noreply@github.com>2020-07-03 19:56:00 -0400
commitba7e1db306b5a7f4cb699de90913c7dd8838018f (patch)
tree6926cd002881d3a277b361e8f8d21334797ac3fb /coverage/summary.py
parentf28b1dba5d8359029f5f491fec207c10097baf10 (diff)
downloadpython-coveragepy-git-ba7e1db306b5a7f4cb699de90913c7dd8838018f.tar.gz
Report descending sort option (#1005)
* added descending sort option in coverage report * commandline option for report sort added * Fix tests for pull #1005 * conditional statements improved * sort option help updated with choices * commandline test for sort added Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
Diffstat (limited to 'coverage/summary.py')
-rw-r--r--coverage/summary.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/coverage/summary.py b/coverage/summary.py
index 97d9fff0..986cd2f2 100644
--- a/coverage/summary.py
+++ b/coverage/summary.py
@@ -104,10 +104,18 @@ class SummaryReporter(object):
# Sort the lines and write them out.
if getattr(self.config, 'sort', None):
- position = column_order.get(self.config.sort.lower())
+ sort_option = self.config.sort.lower()
+ reverse = False
+ if sort_option[0] == '-':
+ reverse = True
+ sort_option = sort_option[1:]
+ elif sort_option[0] == '+':
+ sort_option = sort_option[1:]
+
+ position = column_order.get(sort_option)
if position is None:
raise CoverageException("Invalid sorting option: {!r}".format(self.config.sort))
- lines.sort(key=lambda l: (l[1][position], l[0]))
+ lines.sort(key=lambda l: (l[1][position], l[0]), reverse=reverse)
for line in lines:
self.writeout(line[0])