OwlCyberSecurity - MANAGER
Edit File: egg_link.cpython-312.pyc
� ���g� � � � d dl Z d dlZd dlZd dlmZmZ d dlmZmZ d dl m Z mZ ddgZde dee fd �Zde dee fd �Zde dee fd�Zy)� N)�List�Optional)� site_packages� user_site)�running_under_virtualenv�virtualenv_no_global�egg_link_path_from_sys_path�egg_link_path_from_location�raw_name�returnc �@ � t j dd| � dz | � d�gS )a� 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). z[^A-Za-z0-9.]+�-z .egg-link)�re�sub)r s �K/opt/hc_python/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py�_egg_link_namesr s. � � �����h�/�+�=��*�I��� � c �� � t | � }t j D ]N }|D ]G }t j j ||� }t j j |� s�C|c c S �P y)zJ Look for a .egg-link file for project name, by walking sys.path. N)r �sys�path�os�join�isfile)r �egg_link_names� path_item� egg_link_name�egg_links r r r ! sT � � %�X�.�N��X�X� �+�M��w�w�|�|�I�}�=�H��w�w�~�~�h�'��� ,� � r c � � g }t � r;|j t � t � sLt rF|j t � n0t r|j t � |j t � t | � }|D ]N }|D ]G }t j j ||� }t j j |� s�C|c c S �P y)a 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. N) r �appendr r r r r r r r )r �sitesr �siter �egglinks r r r . s� � �$ �E��!� ���]�#�#�%�)��L�L��#���L�L��#� ���]�#�$�X�.�N���+�M��g�g�l�l�4��7�G��w�w�~�~�g�&��� ,� � r )r r r �typingr r �pip._internal.locationsr r �pip._internal.utils.virtualenvr r �__all__�strr r r � r r �<module>r) sm �� � � � !� <�� "�!����c� �d�3�i� � �#� �(�3�-� �"�#� "�(�3�-� "r