| Server IP : 170.10.162.208 / Your IP : 216.73.216.38 Web Server : LiteSpeed System : Linux altar19.supremepanel19.com 4.18.0-553.69.1.lve.el8.x86_64 #1 SMP Wed Aug 13 19:53:59 UTC 2025 x86_64 User : deltahospital ( 1806) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/opt/cloudlinux/venv/lib/python3.11/site-packages/prospector/tools/pylint/ |
Upload File : |
from pathlib import Path
from packaging import version as packaging_version
from pylint import version as pylint_version
from pylint.lint import PyLinter
from pylint.utils import _splitstrip
class ProspectorLinter(PyLinter):
def __init__(self, found_files, *args, **kwargs):
self._files = found_files
# set up the standard PyLint linter
PyLinter.__init__(self, *args, **kwargs)
def config_from_file(self, config_file=None):
"""Will return `True` if plugins have been loaded. For pylint>=1.5. Else `False`."""
self.read_config_file(config_file)
if self.cfgfile_parser.has_option("MASTER", "load-plugins"):
plugins = _splitstrip(self.cfgfile_parser.get("MASTER", "load-plugins"))
self.load_plugin_modules(plugins)
self.load_config_file()
return True
def _expand_files(self, modules):
expanded = super()._expand_files(modules)
filtered = {}
# PyLinter._expand_files returns dict since 2.15.7.
if packaging_version.parse(pylint_version) > packaging_version.parse("2.15.6"):
for module in expanded:
if not self._files.is_excluded(Path(module)):
filtered[module] = expanded[module]
return filtered
else:
for module in expanded:
# need to de-duplicate, as pylint also walks directories given to it, so it will find
# files that prospector has already provided and end up checking it more than once
if not self._files.is_excluded(Path(module["path"])):
# if the key exists, just overwrite it with the same value, so we don't need an extra if statement
filtered[module["path"]] = module
return filtered.values()