$13 GRAYBYTE WORDPRESS FILE MANAGER $69

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cloudlinux/venv/lib/python3.11/site-packages/prospector/tools/

HOME
Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/prospector/tools//__init__.py
import importlib

from prospector.exceptions import FatalProspectorException
from prospector.tools.base import ToolBase
from prospector.tools.dodgy import DodgyTool
from prospector.tools.mccabe import McCabeTool
from prospector.tools.pycodestyle import PycodestyleTool
from prospector.tools.pydocstyle import PydocstyleTool
from prospector.tools.pyflakes import PyFlakesTool
from prospector.tools.pylint import PylintTool


def _tool_not_available(name, install_option_name):
    class NotAvailableTool(ToolBase):
        """
        Dummy tool class to return when a particular dependency is not found (such as mypy, or bandit)
        for an optional tool. This does not error immediately since the tool is optional, but rather
        if the user tries to run prospector and specifies using the tool at which point an error is raised.
        """

        def configure(self, prospector_config, found_files):
            pass

        def run(self, _):
            raise FatalProspectorException(
                f"\nCannot run tool {name} as support was not installed.\n"
                f"Please install by running 'pip install prospector[{install_option_name}]'\n\n"
            )

    return NotAvailableTool


def _optional_tool(name, package_name=None, tool_class_name=None, install_option_name=None):
    package_name = "prospector.tools.%s" % (package_name or name)
    tool_class_name = tool_class_name or f"{name.title()}Tool"
    install_option_name = install_option_name or f"with_{name}"

    try:
        tool_package = __import__(package_name, fromlist=[tool_class_name])
    except ImportError:
        tool_class = _tool_not_available(name, install_option_name)
    else:
        tool_class = getattr(tool_package, tool_class_name)

    return tool_class


def _profile_validator_tool(*args, **kwargs):
    # bit of a hack to avoid a cyclic import...
    mdl = importlib.import_module("prospector.tools.profile_validator")
    return mdl.ProfileValidationTool(*args, **kwargs)


TOOLS = {
    "dodgy": DodgyTool,
    "mccabe": McCabeTool,
    "pyflakes": PyFlakesTool,
    "pycodestyle": PycodestyleTool,
    "pylint": PylintTool,
    "pydocstyle": PydocstyleTool,
    "profile-validator": _profile_validator_tool,
    "vulture": _optional_tool("vulture"),
    "pyroma": _optional_tool("pyroma"),
    "pyright": _optional_tool("pyright"),
    "mypy": _optional_tool("mypy"),
    "bandit": _optional_tool("bandit"),
}


DEFAULT_TOOLS = (
    "dodgy",
    "mccabe",
    "pyflakes",
    "pycodestyle",
    "pylint",
    "pydocstyle",
    "profile-validator",
)

DEPRECATED_TOOL_NAMES = {"pep8": "pycodestyle", "pep257": "pydocstyle"}

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
14 Aug 2025 9.24 PM
root / root
0755
__pycache__
--
14 Aug 2025 9.24 PM
root / root
0755
bandit
--
14 Aug 2025 9.24 PM
root / root
0755
dodgy
--
14 Aug 2025 9.24 PM
root / root
0755
mccabe
--
14 Aug 2025 9.24 PM
root / root
0755
mypy
--
14 Aug 2025 9.24 PM
root / root
0755
profile_validator
--
14 Aug 2025 9.24 PM
root / root
0755
pycodestyle
--
14 Aug 2025 9.24 PM
root / root
0755
pydocstyle
--
14 Aug 2025 9.24 PM
root / root
0755
pyflakes
--
14 Aug 2025 9.24 PM
root / root
0755
pylint
--
14 Aug 2025 9.24 PM
root / root
0755
pyright
--
14 Aug 2025 9.24 PM
root / root
0755
pyroma
--
14 Aug 2025 9.24 PM
root / root
0755
vulture
--
14 Aug 2025 9.24 PM
root / root
0755
__init__.py
2.589 KB
17 Apr 2025 8.10 PM
root / root
0644
base.py
1.538 KB
17 Apr 2025 8.10 PM
root / root
0644
exceptions.py
0.166 KB
17 Apr 2025 8.10 PM
root / root
0644
utils.py
1.134 KB
17 Apr 2025 8.10 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF