#!/usr/bin/python3 import sys from pocketlint import FalsePositive, PocketLintConfig, PocketLinter import pylint class LoraxLintConfig(PocketLintConfig): def __init__(self): PocketLintConfig.__init__(self) self.falsePositives = [ FalsePositive(r"Module 'pylorax' has no 'version' member"), FalsePositive(r"Catching too general exception Exception"), # See https://bugzilla.redhat.com/show_bug.cgi?id=1739167 FalsePositive(r"Module 'rpm' has no '.*' member"), FalsePositive(r"raise-missing-from"), FalsePositive(r"redundant-u-string-prefix"), FalsePositive(r"unspecified-encoding"), ] @property def pylintPlugins(self): retval = super(LoraxLintConfig, self).pylintPlugins # Not using threads so we can skip this retval.remove("pocketlint.checkers.environ") # No markup used retval.remove("pocketlint.checkers.markup") return retval @property def ignoreNames(self): return { "bots", "rpmbuild" } @property def extraArgs(self): return ["--extension-pkg-whitelist=rpm"] @property def disabledOptions(self): retval = super(LoraxLintConfig, self).disabledOptions # Remove messages that are no longer supported in py3 for msg in ["W0110", "W0141", "W0142", "I0012"]: try: retval.remove(msg) except ValueError: pass return retval if __name__ == "__main__": print("INFO: Using pylint v%s" % pylint.__version__) conf = LoraxLintConfig() linter = PocketLinter(conf) rc = linter.run() sys.exit(rc)