#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright 1999-2020 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 """Run pylint with the right settings.""" from __future__ import print_function import os import sys def find_all_modules(source_root): """Locate all python modules in the tree for scanning""" ret = [] for root, _dirs, files in os.walk(source_root, topdown=False): # Add all of the .py modules in the tree. ret += [os.path.join(root, x) for x in files if x.endswith('.py')] # Add the main scripts that don't end in .py. ret += [os.path.join(source_root, x) for x in ('pylint',)] return ret def main(argv): """The main entry point""" source_root = os.path.dirname(os.path.realpath(__file__)) if not argv: argv = find_all_modules(source_root) pympath = source_root pythonpath = os.environ.get('PYTHONPATH') if pythonpath is None: pythonpath = pympath else: pythonpath = pympath + ':' + pythonpath os.environ['PYTHONPATH'] = pythonpath pylintrc = os.path.join(source_root, '.pylintrc') cmd = ['pylint', '--rcfile', pylintrc] os.execvp(cmd[0], cmd + argv) if __name__ == '__main__': sys.exit(main(sys.argv[1:]))