PHP 8.2.30
Preview: _path.py Size: 1.03 KB
/opt/alt/python312/lib/python3.12/site-packages/setuptools/_path.py

import os
import sys
from typing import Union

_Path = Union[str, os.PathLike]


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: _Path, p2: _Path) -> 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: _Path) -> 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)))

Directory Contents

Dirs: 6 × Files: 35

Name Size Perms Modified Actions
command DIR
- drwxr-xr-x 2026-02-10 08:06:45
Edit Download
config DIR
- drwxr-xr-x 2026-02-10 08:06:45
Edit Download
extern DIR
- drwxr-xr-x 2026-02-10 08:06:45
Edit Download
- drwxr-xr-x 2026-02-10 08:06:45
Edit Download
_vendor DIR
- drwxr-xr-x 2026-02-10 08:06:45
Edit Download
- drwxr-xr-x 2026-02-10 08:06:45
Edit Download
7.16 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
18.23 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
5.45 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
659 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
20.65 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
36.33 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
2.61 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
5.46 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
4.75 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
4.87 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
812 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
1.21 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
190 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
4.67 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
46.31 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
3.00 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
37.45 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
330 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
14.01 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
218 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
138 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
941 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
161 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
3.61 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
8.43 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
720 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
8.71 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
2.18 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
2.38 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
1.43 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
675 B lrw-r--r-- 2026-01-08 18:42:35
Edit Download
4.12 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
1.03 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
1.09 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download
9.00 KB lrw-r--r-- 2026-01-08 18:42:35
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).