AnonSec Shell
Server IP : 68.65.120.251  /  Your IP : 18.226.159.13   [ Reverse IP ]
Web Server : LiteSpeed
System : Linux server105.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User : travtpib ( 6521)
PHP Version : 7.4.33
Disable Function : NONE
Domains : 1 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/cloudlinux/venv/lib64/python3.11/site-packages/prospector/tools/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /opt/cloudlinux/venv/lib64/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"}

Anon7 - 2022
AnonSec Team