Your IP : 216.73.216.178


Current Path : /usr/lib/python3.12/site-packages/setuptools/__pycache__/
Upload File :
Current File : //usr/lib/python3.12/site-packages/setuptools/__pycache__/namespaces.cpython-312.pyc

�

74k�^o�����ddlZddlmZddlZddlmZejjZGd�d�Z	Gd�de	�Z
y)	�N)�log�)�py39c�V�eZdZdZd�Zd�Zd�Zd�ZdZ	dZ		d�Z
d	�Zd
�Ze
d��Zy)
�	Installerz
-nspkg.pthc��|j�}|sy|j�}|jj|�t	j
d|�t
|j|�}|jrt|�yt|dtj��5}|j|�ddd�y#1swYyxYw)Nz
Installing %s�wt)�encoding)�_get_all_ns_packages�_get_nspkg_file�outputs�appendr�info�map�_gen_nspkg_line�dry_run�list�openr�LOCALE_ENCODING�
writelines)�self�nsp�filename�lines�fs     �:/usr/lib/python3.12/site-packages/setuptools/namespaces.py�install_namespaceszInstaller.install_namespacess����'�'�)�����'�'�)�������H�%�����(�+��D�(�(�#�.���<�<���K��
�(�D�4�+?�+?�
@�	 �A�
�L�L���	 �	 �	 �s�B:�:Cc��|j�}tjj|�syt	j
d|�tj|�y)NzRemoving %s)r�os�path�existsrr�remove)rrs  r�uninstall_namespaceszInstaller.uninstall_namespaces s=���'�'�)���w�w�~�~�h�'�������)�
�	�	�(��c��tjj|j��\}}||jzS�N)rr �splitext�_get_target�	nspkg_ext)rr�_s   rrzInstaller._get_nspkg_file's2���g�g�&�&�t�'7�'7�'9�:���!��$�.�.�(�(r$c��|jSr&)�target�rs rr(zInstaller._get_target+s���{�{�r$)zimport sys, types, osz$p = os.path.join(%(root)s, *%(pth)r)z(importlib = __import__('importlib.util')z!__import__('importlib.machinery')z�m = sys.modules.setdefault(%(pkg)r, importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec(%(pkg)r, [os.path.dirname(p)])))zCm = m or sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))z7mp = (m or []) and m.__dict__.setdefault('__path__',[])z(p not in mp) and mp.append(p))z4m and setattr(sys.modules[%(parent)r], %(child)r, m)c��y)Nz$sys._getframe(1).f_locals['sitedir']�r-s r�	_get_rootzInstaller._get_rootCs��5r$c��t|jd��}|j�}|j}|j	d�\}}}|r||j
z
}dj
|�t�zdzS)N�.�;�
)�tuple�splitr0�_nspkg_tmpl�
rpartition�_nspkg_tmpl_multi�join�locals)r�pkg�pth�root�
tmpl_lines�parent�sep�childs        rrzInstaller._gen_nspkg_lineFsn���C�I�I�c�N�#���~�~����%�%�
� �^�^�C�0����U���$�0�0�0�J��x�x�
�#�f�h�.��5�5r$c
��|jjxsg}ttt	t|j|����S)z,Return sorted list of all package namespaces)�distribution�namespace_packages�sorted�set�flattenr�
_pkg_names)r�pkgss  rrzInstaller._get_all_ns_packagesOs8��� � �3�3�9�r���c�'�#�d�o�o�t�"<�=�>�?�?r$c#�K�|jd�}|r'dj|���|j�|r�&yy�w)z�
        Given a namespace package, yield the components of that
        package.

        >>> names = Installer._pkg_names('a.b.c')
        >>> set(names) == set(['a', 'a.b', 'a.b.c'])
        True
        r2N)r6r:�pop)r<�partss  rrIzInstaller._pkg_namesTs4�����	�	�#�����(�(�5�/�!��I�I�K��s�9>�>N)�__name__�
__module__�__qualname__r)rr#rr(r7r9r0rr�staticmethodrIr/r$rrrsT���I� �$�)���K� (�Q��;�6�6�@�
���r$rc��eZdZd�Zd�Zy)�DevelopInstallerc�>�tt|j��Sr&)�repr�str�egg_pathr-s rr0zDevelopInstaller._get_rootes���C��
�
�&�'�'r$c��|jSr&)�egg_linkr-s rr(zDevelopInstaller._get_targeths���}�}�r$N)rNrOrPr0r(r/r$rrSrSds��(�r$rS)r�	distutilsr�	itertools�compatr�chain�
from_iterablerHrrSr/r$r�<module>r_s;��	�����/�/�
'�
'��V�V�r�y�r$