# HG changeset patch # User Mads Kiilerich # Date 1581394623 -3600 # Node ID 51af7c12ffb12c9fcc7791ff593a76121f046324 # Parent 9d6cc55384fe405f73914c4cef3ffa9f1463a007 cleanup: run pyflakes as a part of scripts/run-all-cleanup pyflakes has no usable configuration options, so create a small wrapper script. Instead of having two wrapper scripts (with one being almost nothing and the other containing configuration), just keep it simple and use one combined. diff -r 9d6cc55384fe -r 51af7c12ffb1 dev_requirements.txt --- a/dev_requirements.txt Sun Feb 09 19:46:43 2020 +0100 +++ b/dev_requirements.txt Tue Feb 11 05:17:03 2020 +0100 @@ -6,3 +6,4 @@ Sphinx >= 1.8.0, < 2.4 WebTest >= 2.0.6, < 2.1 isort == 4.3.21 +pyflakes == 2.1.1 diff -r 9d6cc55384fe -r 51af7c12ffb1 scripts/pyflakes --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/pyflakes Tue Feb 11 05:17:03 2020 +0100 @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 +""" +pyflakes with filter configuration for Kallithea. +Inspired by pyflakes/api.py and flake8/plugins/pyflakes.py . +""" + +import sys +import pyflakes.api +import pyflakes.messages + +class Reporter: + + warned = False + + def flake(self, warning): + # ignore known warnings + if isinstance(warning, pyflakes.messages.UnusedVariable): + return + if warning.filename == 'kallithea/bin/kallithea_cli_ishell.py': + if isinstance(warning, pyflakes.messages.ImportStarUsed) and warning.message_args == ('kallithea.model.db',): + return + if isinstance(warning, pyflakes.messages.UnusedImport) and warning.message_args == ('kallithea.model.db.*',): + return + + print('%s:%s %s [%s %s]' % (warning.filename, warning.lineno, warning.message % warning.message_args, type(warning).__name__, warning.message_args)) + self.warned = True + + def unexpectedError(self, filename, msg): + print('Unexpected error for %s: %s' % (filename, msg)) + + +reporter = Reporter() + +for filename in sorted(set(sys.argv[1:])): + pyflakes.api.checkPath(filename, reporter=reporter) +if reporter.warned: + raise SystemExit(1) diff -r 9d6cc55384fe -r 51af7c12ffb1 scripts/run-all-cleanup --- a/scripts/run-all-cleanup Sun Feb 09 19:46:43 2020 +0100 +++ b/scripts/run-all-cleanup Tue Feb 11 05:17:03 2020 +0100 @@ -8,3 +8,5 @@ scripts/docs-headings.py scripts/generate-ini.py scripts/whitespacecleanup.sh + +hg loc 'set:!binary()&grep("^#!.*python")' '*.py' | xargs scripts/pyflakes