OXIESEC PANEL
- Current Dir:
/
/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
setuptools
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
09/05/2025 09:34:06 AM
rwxr-xr-x
📄
__init__.py
10.2 KB
12/18/2024 10:23:15 AM
rw-r--r--
📁
__pycache__
-
02/07/2025 10:01:50 PM
rwxr-xr-x
📄
_core_metadata.py
9.57 KB
12/18/2024 10:23:15 AM
rw-r--r--
📁
_distutils
-
02/07/2025 10:01:35 PM
rwxr-xr-x
📄
_entry_points.py
2.26 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
_imp.py
2.38 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
_importlib.py
223 bytes
12/18/2024 10:23:15 AM
rw-r--r--
📄
_itertools.py
657 bytes
12/18/2024 10:23:15 AM
rw-r--r--
📄
_normalization.py
4.43 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
_path.py
2.62 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
_reqs.py
1.4 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
_shutil.py
1.46 KB
12/18/2024 10:23:15 AM
rw-r--r--
📁
_vendor
-
02/07/2025 10:01:35 PM
rwxr-xr-x
📄
archive_util.py
7.2 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
build_meta.py
19.97 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
cli-32.exe
11.5 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
cli-64.exe
14 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
cli-arm64.exe
13.5 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
cli.exe
11.5 KB
12/18/2024 10:23:15 AM
rw-r--r--
📁
command
-
02/07/2025 10:01:35 PM
rwxr-xr-x
📁
compat
-
02/07/2025 10:01:35 PM
rwxr-xr-x
📁
config
-
02/07/2025 10:01:35 PM
rwxr-xr-x
📄
dep_util.py
659 bytes
12/20/2023 03:43:55 PM
rw-r--r--
📄
depends.py
5.83 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
discovery.py
20.76 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
dist.py
37.79 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
errors.py
2.95 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
extension.py
6.53 KB
12/18/2024 10:23:15 AM
rw-r--r--
📁
extern
-
02/16/2024 08:50:18 PM
rwxr-xr-x
📄
glob.py
5.92 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
gui-32.exe
11.5 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
gui-64.exe
14 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
gui-arm64.exe
13.5 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
gui.exe
11.5 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
installer.py
4.99 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
launch.py
820 bytes
12/18/2024 10:23:15 AM
rw-r--r--
📄
logging.py
1.23 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
modified.py
568 bytes
12/18/2024 10:23:15 AM
rw-r--r--
📄
monkey.py
3.63 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
msvc.py
40.37 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
namespaces.py
3.1 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
package_index.py
38.45 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
py312compat.py
330 bytes
12/20/2023 03:43:55 PM
rw-r--r--
📄
sandbox.py
14.56 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
script (dev).tmpl
218 bytes
12/18/2024 10:23:15 AM
rw-r--r--
📄
script.tmpl
138 bytes
12/18/2024 10:23:15 AM
rw-r--r--
📁
tests
-
02/07/2025 10:01:35 PM
rwxr-xr-x
📄
unicode_utils.py
3.12 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
version.py
161 bytes
12/18/2024 10:23:15 AM
rw-r--r--
📄
warnings.py
3.71 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
wheel.py
8.43 KB
12/18/2024 10:23:15 AM
rw-r--r--
📄
windows_support.py
726 bytes
12/18/2024 10:23:15 AM
rw-r--r--
Editing: _path.py
Close
from __future__ import annotations import contextlib import os import sys from typing import TYPE_CHECKING, TypeVar, Union from more_itertools import unique_everseen if TYPE_CHECKING: from typing_extensions import TypeAlias StrPath: TypeAlias = Union[str, os.PathLike[str]] # Same as _typeshed.StrPath StrPathT = TypeVar("StrPathT", bound=Union[str, os.PathLike[str]]) def ensure_directory(path): """Ensure that the parent directory of `path` exists""" dirname = os.path.dirname(path) os.makedirs(dirname, exist_ok=True) def same_path(p1: StrPath, p2: StrPath) -> bool: """Differs from os.path.samefile because it does not require paths to exist. Purely string based (no comparison between i-nodes). >>> same_path("a/b", "./a/b") True >>> same_path("a/b", "a/./b") True >>> same_path("a/b", "././a/b") True >>> same_path("a/b", "./a/b/c/..") True >>> same_path("a/b", "../a/b/c") False >>> same_path("a", "a/b") False """ return normpath(p1) == normpath(p2) def normpath(filename: StrPath) -> str: """Normalize a file/dir name for comparison purposes.""" # See pkg_resources.normalize_path for notes about cygwin file = os.path.abspath(filename) if sys.platform == 'cygwin' else filename return os.path.normcase(os.path.realpath(os.path.normpath(file))) @contextlib.contextmanager def paths_on_pythonpath(paths): """ Add the indicated paths to the head of the PYTHONPATH environment variable so that subprocesses will also see the packages at these paths. Do this in a context that restores the value on exit. >>> getfixture('monkeypatch').setenv('PYTHONPATH', 'anything') >>> with paths_on_pythonpath(['foo', 'bar']): ... assert 'foo' in os.environ['PYTHONPATH'] ... assert 'anything' in os.environ['PYTHONPATH'] >>> os.environ['PYTHONPATH'] 'anything' >>> getfixture('monkeypatch').delenv('PYTHONPATH') >>> with paths_on_pythonpath(['foo', 'bar']): ... assert 'foo' in os.environ['PYTHONPATH'] >>> os.environ.get('PYTHONPATH') """ nothing = object() orig_pythonpath = os.environ.get('PYTHONPATH', nothing) current_pythonpath = os.environ.get('PYTHONPATH', '') try: prefix = os.pathsep.join(unique_everseen(paths)) to_join = filter(None, [prefix, current_pythonpath]) new_path = os.pathsep.join(to_join) if new_path: os.environ['PYTHONPATH'] = new_path yield finally: if orig_pythonpath is nothing: os.environ.pop('PYTHONPATH', None) else: os.environ['PYTHONPATH'] = orig_pythonpath