HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/setuptools/__pycache__/namespaces.cpython-310.pyc
o

��hc�@sRddlZddlZddlmZddlmZejjZGdd�d�Z	Gdd�de	�Z
dS)	�N�)�py312)�logc@sdeZdZdZddd�Zddd�Zdd	�Zd
d�ZdZ	d
Z		dd�Z
dd�Zdd�Ze
dd��ZdS)�	Installerz
-nspkg.pth�returnNcCs�|��}|sdS|��}|j�|�t�d|�t|j|�}|jr't	|�dSt
|dtjd��}|�
|�Wd�dS1s@wYdS)Nz
Installing %s�wt)�encoding)�_get_all_ns_packages�_get_nspkg_file�outputs�appendr�info�map�_gen_nspkg_line�dry_run�list�openr�PTH_ENCODING�
writelines)�self�nsp�filename�lines�f�r�@/usr/local/lib/python3.10/dist-packages/setuptools/namespaces.py�install_namespacess"�zInstaller.install_namespacescCs2|��}tj�|�sdSt�d|�t�|�dS)NzRemoving %s)r
�os�path�existsrr
�remove)rrrrr�uninstall_namespaces!s
zInstaller.uninstall_namespacescCstj�|���\}}||jS�N)rr�splitext�_get_target�	nspkg_ext)rr�_rrrr
(s
zInstaller._get_nspkg_filecC�|jSr")�target�rrrrr$,�zInstaller._get_target)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)cCsdS)Nz$sys._getframe(1).f_locals['sitedir']rr)rrr�	_get_rootDszInstaller._get_rootcCsNt|�d��}|��}|j}|�d�\}}}|r||j7}d�|�t�dS)N�.�;�
)�tuple�splitr+�_nspkg_tmpl�
rpartition�_nspkg_tmpl_multi�join�locals)r�pkg�pth�root�
tmpl_lines�parent�sep�childrrrrGs
zInstaller._gen_nspkg_linecCs$|jjpg}tttt|j|����S)z,Return sorted list of all package namespaces)�distribution�namespace_packages�sorted�set�flattenr�
_pkg_names)r�pkgsrrrr	PszInstaller._get_all_ns_packagesccs0�|�d�}|rd�|�V|��|sdSdS)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
        r,N)r0r4�pop)r6�partsrrrrBUs�

�zInstaller._pkg_names)rN)�__name__�
__module__�__qualname__r%rr!r
r$r1r3r+rr	�staticmethodrBrrrrrs

	rc@seZdZdd�Zdd�ZdS)�DevelopInstallercCstt|j��Sr")�repr�str�egg_pathr)rrrr+fszDevelopInstaller._get_rootcCr'r")�egg_linkr)rrrr$ir*zDevelopInstaller._get_targetN)rFrGrHr+r$rrrrrJesrJ)�	itertoolsr�compatr�	distutilsr�chain�
from_iterablerArrJrrrr�<module>sZ