
    /h                     p    d dl Z d dlmZ d dlZej        j        Z G d d          Z G d de          ZdS )    N)logc                   X    e Zd ZdZd Zd Zd ZdZ	 dZ	 d Z	d Z
d	 Zed
             ZdS )	Installerz
-nspkg.pthc                    |                                  }|sd S t          j                            |                                           \  }}|| j        z  }| j                            |           t          j	        d|           t          | j        |          }| j        rt          |           d S t          |d          5 }|                    |           d d d            d S # 1 swxY w Y   d S )NzInstalling %swt)_get_all_ns_packagesospathsplitext_get_target	nspkg_extoutputsappendr   infomap_gen_nspkg_linedry_runlistopen
writelines)selfnspfilenameextlinesfs         H/var/www/html/venv/lib/python3.11/site-packages/setuptools/namespaces.pyinstall_namespaceszInstaller.install_namespaces   s(   '')) 	F(()9)9););<<#DN"H%%%(+++D(#..< 	KKKF(D!! 	 QLL	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   C&&C*-C*c                    t           j                            |                                           \  }}|| j        z  }t           j                            |          sd S t          j        d|           t          j        |           d S )NzRemoving %s)	r	   r
   r   r   r   existsr   r   remove)r   r   r   s      r   uninstall_namespaceszInstaller.uninstall_namespaces   sv    (()9)9););<<#DN"w~~h'' 	F)))
	(    c                     | j         S N)targetr   s    r   r   zInstaller._get_target'   s
    {r#   )	zimport sys, types, osz#has_mfs = sys.version_info > (3, 5)z$p = os.path.join(%(root)s, *%(pth)r)z4importlib = has_mfs and __import__('importlib.util')z-has_mfs and __import__('importlib.machinery')zm = has_mfs and 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                     dS )Nz$sys._getframe(1).f_locals['sitedir'] r'   s    r   	_get_rootzInstaller._get_rootE   s    55r#   c                    t          |                    d                    }|                                 }| j        }|                    d          \  }}}|r
|| j        z  }d                    |          t                      z  dz   S )N.;
)tuplesplitr*   _nspkg_tmpl
rpartition_nspkg_tmpl_multijoinlocals)r   pkgpthroot
tmpl_linesparentsepchilds           r   r   zInstaller._gen_nspkg_lineH   s}    CIIcNN##~~%
 ^^C00U 	1$00Jxx
##fhh.55r#   c                 |    | j         j        pg }t          t          t	          | j        |                              S )z,Return sorted list of all package namespaces)distributionnamespace_packagessortedflattenr   
_pkg_names)r   pkgss     r   r   zInstaller._get_all_ns_packagesQ   s4     39rgc$/48899:::r#   c              #      K   |                      d          }|r/d                    |          V  |                                 |-dS dS )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)r0   r4   pop)r6   partss     r   rB   zInstaller._pkg_namesV   s`       		# 	((5//!!!IIKKK  	 	 	 	 	r#   N)__name__
__module____qualname__r   r   r"   r   r1   r3   r*   r   r   staticmethodrB   r)   r#   r   r   r   	   s        I     $    K( ( <6 6 66 6 6; ; ;
   \  r#   r   c                       e Zd Zd Zd ZdS )DevelopInstallerc                 D    t          t          | j                            S r%   )reprstregg_pathr'   s    r   r*   zDevelopInstaller._get_rootg   s    C&&'''r#   c                     | j         S r%   )egg_linkr'   s    r   r   zDevelopInstaller._get_targetj   s
    }r#   N)rG   rH   rI   r*   r   r)   r#   r   rL   rL   f   s2        ( ( (    r#   rL   )	r	   	distutilsr   	itertoolschainfrom_iterablerA   r   rL   r)   r#   r   <module>rW      s    				           /
'Z Z Z Z Z Z Z Zz    y     r#   