Your IP : 3.147.52.243
3
K�Re � @ sR d dl Z d dlmZ d dlZd dlmZ ejjZG dd� d�Z G dd� de �Z
dS )� N)�log)�mapc @ sT e Zd ZdZdd� Zdd� Zdd� ZdZdZdd� Z dd� Z
dd� Zedd� �Z
dS )� Installerz
-nspkg.pthc C s� | j � }|sd S tjj| j� �\}}|| j7 }| jj|� tj d|� t
| j|�}| jrdt
|� d S t|d��}|j|� W d Q R X d S )Nz
Installing %s�wt)�_get_all_ns_packages�os�path�splitext�_get_target� nspkg_ext�outputs�appendr �infor �_gen_nspkg_line�dry_run�list�open�
writelines)�self�nsp�filename�ext�lines�f� r ��/builddir/build/BUILDROOT/alt-python36-setuptools-38.5.2-7.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/setuptools/namespaces.py�install_namespaces s
zInstaller.install_namespacesc C sH t jj| j� �\}}|| j7 }t jj|�s.d S tjd|� t j|� d S )NzRemoving %s) r r r r
r �existsr r �remove)r r r r r r �uninstall_namespaces! s
zInstaller.uninstall_namespacesc C s | j S )N)�target)r r r r r
) s zInstaller._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)c C s dS )Nz$sys._getframe(1).f_locals['sitedir']r )r r r r � _get_rootC s zInstaller._get_rootc C sV t |�}t|jd��}| j� }| j}|jd�\}}}|rB|| j7 }dj|�t� d S )N�.�;�
) �str�tuple�splitr+ �_nspkg_tmpl�
rpartition�_nspkg_tmpl_multi�join�locals)r �pkg�pth�rootZ
tmpl_lines�parent�sep�childr r r r F s
zInstaller._gen_nspkg_linec C s | j jp
g }ttt| j|���S )z,Return sorted list of all package namespaces)�distributionZnamespace_packages�sorted�flattenr �
_pkg_names)r �pkgsr r r r Q s zInstaller._get_all_ns_packagesc c s, | j d�}x|r&dj|�V |j� qW dS )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)r1 r5 �pop)r7 �partsr r r r@ V s
zInstaller._pkg_namesN) r! r"