summaryrefslogtreecommitdiff
path: root/utils.py
diff options
context:
space:
mode:
authorcpopa <devnull@localhost>2014-08-18 17:54:07 +0300
committercpopa <devnull@localhost>2014-08-18 17:54:07 +0300
commit168db0ec2772579d2dae24f1971a84546f8675f3 (patch)
tree8988ae024449cb79b1e22b733f8cdd65e02f304d /utils.py
parent93e71976377c537fc87a4ca1fbcedd4e6f597096 (diff)
downloadpylint-168db0ec2772579d2dae24f1971a84546f8675f3.tar.gz
Order of reporting is consistent.
Diffstat (limited to 'utils.py')
-rw-r--r--utils.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/utils.py b/utils.py
index b476dc1..deef486 100644
--- a/utils.py
+++ b/utils.py
@@ -640,6 +640,21 @@ class ReportsHandlerMixIn(object):
self._reports = {}
self._reports_state = {}
+ @property
+ def _sorted_reports(self):
+ """ Return a list of reports, sorted in the order
+ of their reporting priority.
+ """
+ reports = sorted(self._reports, key=lambda x: getattr(x, 'name', ''))
+ try:
+ # Remove the current reporter and add it
+ # at the end of the list.
+ reports.pop(reports.index(self))
+ except ValueError:
+ pass
+ reports.append(self)
+ return reports
+
def register_report(self, reportid, r_title, r_cb, checker):
"""register a report
@@ -671,7 +686,7 @@ class ReportsHandlerMixIn(object):
"""render registered reports"""
sect = Section('Report',
'%s statements analysed.'% (self.stats['statement']))
- for checker in self._reports:
+ for checker in self._sorted_reports:
for reportid, r_title, r_cb in self._reports[checker]:
if not self.report_is_enabled(reportid):
continue