OXIESEC PANEL
- Current Dir:
/
/
snap
/
certbot
/
4730
/
lib
/
python3.12
/
site-packages
/
pip
/
_internal
/
utils
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
06/10/2025 09:51:14 PM
rwxr-xr-x
📄
__init__.py
0 bytes
06/10/2025 09:50:50 PM
rw-r--r--
📁
__pycache__
-
06/10/2025 09:51:14 PM
rwxr-xr-x
📄
_jaraco_text.py
3.27 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
_log.py
1015 bytes
06/10/2025 09:50:50 PM
rw-r--r--
📄
appdirs.py
1.67 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
compat.py
2.34 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
compatibility_tags.py
6.51 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
datetime.py
241 bytes
06/10/2025 09:50:50 PM
rw-r--r--
📄
deprecation.py
3.62 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
direct_url_helpers.py
3.12 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
egg_link.py
2.41 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
entrypoints.py
3.25 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
filesystem.py
4.83 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
filetypes.py
715 bytes
06/10/2025 09:50:50 PM
rw-r--r--
📄
glibc.py
3.65 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
hashes.py
4.86 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
logging.py
11.79 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
misc.py
22.9 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
packaging.py
1.57 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
retry.py
1.36 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
setuptools_build.py
4.38 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
subprocess.py
8.78 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
temp_dir.py
9.09 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
unpacking.py
11.65 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
urls.py
1.56 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
virtualenv.py
3.38 KB
06/10/2025 09:50:50 PM
rw-r--r--
📄
wheel.py
4.39 KB
06/10/2025 09:50:50 PM
rw-r--r--
Editing: egg_link.py
Close
import os import re import sys from typing import List, Optional from pip._internal.locations import site_packages, user_site from pip._internal.utils.virtualenv import ( running_under_virtualenv, virtualenv_no_global, ) __all__ = [ "egg_link_path_from_sys_path", "egg_link_path_from_location", ] def _egg_link_names(raw_name: str) -> List[str]: """ Convert a Name metadata value to a .egg-link name, by applying the same substitution as pkg_resources's safe_name function. Note: we cannot use canonicalize_name because it has a different logic. We also look for the raw name (without normalization) as setuptools 69 changed the way it names .egg-link files (https://github.com/pypa/setuptools/issues/4167). """ return [ re.sub("[^A-Za-z0-9.]+", "-", raw_name) + ".egg-link", f"{raw_name}.egg-link", ] def egg_link_path_from_sys_path(raw_name: str) -> Optional[str]: """ Look for a .egg-link file for project name, by walking sys.path. """ egg_link_names = _egg_link_names(raw_name) for path_item in sys.path: for egg_link_name in egg_link_names: egg_link = os.path.join(path_item, egg_link_name) if os.path.isfile(egg_link): return egg_link return None def egg_link_path_from_location(raw_name: str) -> Optional[str]: """ Return the path for the .egg-link file if it exists, otherwise, None. There's 3 scenarios: 1) not in a virtualenv try to find in site.USER_SITE, then site_packages 2) in a no-global virtualenv try to find in site_packages 3) in a yes-global virtualenv try to find in site_packages, then site.USER_SITE (don't look in global location) For #1 and #3, there could be odd cases, where there's an egg-link in 2 locations. This method will just return the first one found. """ sites: List[str] = [] if running_under_virtualenv(): sites.append(site_packages) if not virtualenv_no_global() and user_site: sites.append(user_site) else: if user_site: sites.append(user_site) sites.append(site_packages) egg_link_names = _egg_link_names(raw_name) for site in sites: for egg_link_name in egg_link_names: egglink = os.path.join(site, egg_link_name) if os.path.isfile(egglink): return egglink return None