Your IP : 216.73.216.176


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

�

^I�i����ddlZddlZddlmZddlmZejjZGd�d�Z	Gd�de	�Z
y)	�N�)�py312)�logc�Z�eZdZdZd
d�Zd
d�Zd�Zd�ZdZ	dZ		d	�Z
d
�Zd�Ze
d��Zy)�	Installerz
-nspkg.pthNc�\�|j�}|sy|j�}|jj|�t	j
d|�t
|j|�}t|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�openr�PTH_ENCODING�
writelines)�self�nsp�filename�lines�fs     ��/build/snapcraft-certbot-53a6961353a63169611ae8a78f6bfa4f/parts/certbot/install/lib/python3.12/site-packages/setuptools/namespaces.py�install_namespaceszInstaller.install_namespacess����'�'�)�����'�'�)�������H�%�����(�+��D�(�(�#�.��
�(�D�5�+=�+=�
>�	 �!�
�L�L���	 �	 �	 �s�B"�"B+c��|j�}tjj|�syt	j
d|�tj|�y)NzRemoving %s)r�os�path�existsrr�remove)rrs  r�uninstall_namespaceszInstaller.uninstall_namespacess=���'�'�)���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_root?s��5r"c��t|jd��}|j�}|j}|j	d�\}}}|r||j
z
}dj
|�t�zdzS)N�.�;�
)�tuple�splitr.�_nspkg_tmpl�
rpartition�_nspkg_tmpl_multi�join�locals)r�pkg�pth�root�
tmpl_lines�parent�sep�childs        rrzInstaller._gen_nspkg_lineBsn���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_packagesKs8��� � �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
        r0N)r4r8�pop)r:�partss  rrGzInstaller._pkg_namesPs4�����	�	�#�����(�(�5�/�!��I�I�K��s�9>�>)�returnN)�__name__�
__module__�__qualname__r'rr!rr&r5r7r.rr�staticmethodrGr-r"rrrsT���I� ��)���K� (�Q��;�6�6�@�
���r"rc��eZdZd�Zd�Zy)�DevelopInstallerc�>�tt|j��Sr$)�repr�str�egg_pathr+s rr.zDevelopInstaller._get_rootas���C��
�
�&�'�'r"c��|jSr$)�egg_linkr+s rr&zDevelopInstaller._get_targetds���}�}�r"N)rMrNrOr.r&r-r"rrRrR`s��(�r"rR)�	itertoolsr�compatr�	distutilsr�chain�
from_iterablerFrrRr-r"r�<module>r^s9���	���
�/�/�
'�
'��R�R�j�y�r"