diff options
| author | cpopa <devnull@localhost> | 2014-08-18 17:54:07 +0300 |
|---|---|---|
| committer | cpopa <devnull@localhost> | 2014-08-18 17:54:07 +0300 |
| commit | 168db0ec2772579d2dae24f1971a84546f8675f3 (patch) | |
| tree | 8988ae024449cb79b1e22b733f8cdd65e02f304d | |
| parent | 93e71976377c537fc87a4ca1fbcedd4e6f597096 (diff) | |
| download | pylint-168db0ec2772579d2dae24f1971a84546f8675f3.tar.gz | |
Order of reporting is consistent.
| -rw-r--r-- | ChangeLog | 2 | ||||
| -rw-r--r-- | utils.py | 17 |
2 files changed, 18 insertions, 1 deletions
@@ -73,6 +73,8 @@ ChangeLog for Pylint * Emit 'catching-non-exception' for non-class nodes. Closes issue #303. + * Order of reporting is consistent. + 2014-07-26 -- 1.3.0 @@ -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 |
