HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/alt/python35/lib/python3.5/site-packages/setuptools/__pycache__/namespaces.cpython-35.pyc


i�Re�@sqddlZddlmZddlZddlmZejjZGdd�d�Z	Gdd�de	�Z
dS)�N)�log)�mapc	@s|eZdZdZdd�Zdd�Zdd�ZdZdZdd�Z	dd�Z
dd�Zedd��Z
dS)�	Installerz
-nspkg.pthc	Cs�|j�}|sdStjj|j��\}}||j7}|jj|�tj	d|�t
|j|�}|jr�t
|�dSt|d��}|j|�WdQRXdS)Nz
Installing %sZwt)�_get_all_ns_packages�os�path�splitext�_get_target�	nspkg_extZoutputs�appendr�infor�_gen_nspkg_line�dry_run�list�open�
writelines)�selfZnsp�filename�ext�lines�f�r�/namespaces.py�install_namespacess
	
zInstaller.install_namespacescCsbtjj|j��\}}||j7}tjj|�sAdStjd|�tj|�dS)NzRemoving %s)	rrrr	r
�existsrr�remove)rrrrrr�uninstall_namespaces!s
zInstaller.uninstall_namespacescCs|jS)N)�target)rrrrr	)szInstaller._get_target�import sys, types, os�#has_mfs = sys.version_info > (3, 5)�$p = os.path.join(%(root)s, *%(pth)r)�4importlib = has_mfs and __import__('importlib.util')�-has_mfs and __import__('importlib.machinery')��m = has_mfs and sys.modules.setdefault(%(pkg)r, importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec(%(pkg)r, [os.path.dirname(p)])))�Cm = m or sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))�7mp = (m or []) and m.__dict__.setdefault('__path__',[])�(p not in mp) and mp.append(p)�4m and setattr(sys.modules[%(parent)r], %(child)r, m)cCsdS)Nz$sys._getframe(1).f_locals['sitedir']r)rrrr�	_get_rootCszInstaller._get_rootcCsyt|�}t|jd��}|j�}|j}|jd�\}}}|ra||j7}dj|�t�dS)N�.�;�
)	�str�tuple�splitr(�_nspkg_tmpl�
rpartition�_nspkg_tmpl_multi�join�locals)r�pkgZpth�rootZ
tmpl_lines�parent�sepZchildrrrr
Fs	
zInstaller._gen_nspkg_linecCs.|jjpg}ttt|j|���S)z,Return sorted list of all package namespaces)ZdistributionZnamespace_packages�sorted�flattenr�
_pkg_names)rZpkgsrrrrQszInstaller._get_all_ns_packagesccs8|jd�}x"|r3dj|�V|j�qWdS)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)r.r2�pop)r4�partsrrrr:Vs
	zInstaller._pkg_namesN)	rrr r!r"r#r$r%r&)r')�__name__�
__module__�__qualname__r
rrr	r/r1r(r
r�staticmethodr:rrrrrs$rc@s(eZdZdd�Zdd�ZdS)�DevelopInstallercCstt|j��S)N)�reprr,Zegg_path)rrrrr(gszDevelopInstaller._get_rootcCs|jS)N)Zegg_link)rrrrr	jszDevelopInstaller._get_targetN)r=r>r?r(r	rrrrrAfsrA)rZ	distutilsr�	itertoolsZsetuptools.extern.six.movesr�chain�
from_iterabler9rrArrrr�<module>s[