X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/lib/python3.11/site-packages/prospector
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
prospector
/
??
..
??
__init__.py
(0 B)
??
__main__.py
(71 B)
??
__pycache__
??
autodetect.py
(2.89 KB)
??
blender.py
(4.34 KB)
??
blender_combinations.yaml
(6.4 KB)
??
compat.py
(360 B)
??
config
??
encoding.py
(1.51 KB)
??
exceptions.py
(1.26 KB)
??
finder.py
(4.61 KB)
??
formatters
??
message.py
(2.67 KB)
??
pathutils.py
(1.28 KB)
??
postfilter.py
(2.18 KB)
??
profiles
??
run.py
(7.91 KB)
??
suppression.py
(4.36 KB)
??
tools
Editing: pathutils.py
import os from pathlib import Path def is_python_package(path: Path) -> bool: return path.is_dir() and (path / "__init__.py").exists() def is_python_module(path: Path) -> bool: # TODO: is this too simple? return path.suffix == ".py" def is_virtualenv(path: Path) -> bool: if os.name == "nt": # Windows! clues = ("Scripts", "lib", "include") else: clues = ("bin", "lib", "include") try: # just get the name, iterdir returns absolute paths by default dircontents = [obj.name for obj in path.iterdir()] except (OSError, TypeError): # listdir failed, probably due to path length issues in windows return False if not all(clue in dircontents for clue in clues): # we don't have the 3 directories which would imply # this is a virtualenvironment return False if not all((path / clue).is_dir() for clue in clues): # some of them are not actually directories return False # if we do have all three directories, make sure that it's not # just a coincidence by doing some heuristics on the rest of # the directory if len(dircontents) > 7: # if there are more than 7 things it's probably not a virtualenvironment return False return True
Upload File
Create Folder