diff options
author | Jerin Peter George <jerinpetergeorge@gmail.com> | 2020-07-04 05:26:00 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-03 19:56:00 -0400 |
commit | ba7e1db306b5a7f4cb699de90913c7dd8838018f (patch) | |
tree | 6926cd002881d3a277b361e8f8d21334797ac3fb /coverage/summary.py | |
parent | f28b1dba5d8359029f5f491fec207c10097baf10 (diff) | |
download | python-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.py | 12 |
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]) |