summaryrefslogtreecommitdiff
path: root/parabola_repolint/linter.py
diff options
context:
space:
mode:
Diffstat (limited to 'parabola_repolint/linter.py')
-rw-r--r--parabola_repolint/linter.py29
1 files changed, 20 insertions, 9 deletions
diff --git a/parabola_repolint/linter.py b/parabola_repolint/linter.py
index 3bc4bed..4cd418f 100644
--- a/parabola_repolint/linter.py
+++ b/parabola_repolint/linter.py
@@ -39,6 +39,14 @@ class LinterCheckBase(metaclass=LinterCheckMeta):
res.append(' ' + issue[0] % issue[1:])
return "\n".join(sorted(res))
+ def fixhook_base(self, issue):
+ ''' produce the default fixhook base path '''
+ return issue[1]
+
+ def fixhook_args(self, issue):
+ ''' produce the default fixhook arguments '''
+ return issue[2:]
+
def __repr__(self):
''' produce a string representation of the check '''
return str(type(self))
@@ -163,6 +171,11 @@ class Linter():
except LinterIssue as i:
check.issues.append(i.args)
+ @property
+ def triggered_checks(self):
+ ''' produce a list of all checks with issues '''
+ return [ check for check in self._enabled_checks if check.issues ]
+
def format(self):
''' return a formatted string of the linter issues '''
now = self._end_time.strftime("%Y-%m-%d %H:%M:%S")
@@ -173,11 +186,10 @@ Generated by parabola-repolint on %s at %s
==============================================================================
''' % (socket.gethostname(), now)
- for check in self._enabled_checks:
- if check.issues:
- header = '%s:\n%s' % (check.header, '-' * (len(check.header) + 1))
- out += '\n\n\n%s\n%s\nissues:\n' % (header, check.__doc__)
- out += check.format()
+ for check in self.triggered_checks:
+ header = '%s:\n%s' % (check.header, '-' * (len(check.header) + 1))
+ out += '\n\n\n%s\n%s\nissues:\n' % (header, check.__doc__)
+ out += check.format()
return out
def short_format(self):
@@ -185,9 +197,8 @@ Generated by parabola-repolint on %s at %s
now = self._end_time.strftime("%Y-%m-%d %H:%M:%S")
out = 'repolint digest at %s' % now
- for check in self._enabled_checks:
- if check.issues:
- out += '\n %s: %i' % (check, len(check.issues))
+ for check in self.triggered_checks:
+ out += '\n %s: %i' % (check, len(check.issues))
out += '\ntotal issues: %i' % self.total_issues
return out
@@ -196,7 +207,7 @@ Generated by parabola-repolint on %s at %s
def total_issues(self):
''' produce the total number of found issues '''
res = 0
- for check in self._enabled_checks:
+ for check in self.triggered_checks:
res += len(check.issues)
return res