
    ϶vgc                     |    d dl Z d dlZddlmZ d dlmZ e j        j        Z G d d          Z	 G d de	          Z
dS )	    N   )py312)logc                   b    e Zd ZdZddZddZd Zd ZdZ	 d	Z		 d
 Z
d Zd Zed             ZdS )	Installerz
-nspkg.pthreturnNc                    |                                  }|sd S |                                 }| j                            |           t	          j        d|           t          | j        |          }| j        rt          |           d S t          |dt          j                  5 }|                    |           d d d            d S # 1 swxY w Y   d S )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fs        R/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/namespaces.pyinstall_namespaceszInstaller.install_namespaces   s   '')) 	F''))H%%%(+++D(#..< 	KKKF(D5+=>>> 	 ! LL	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   %CCCc                     |                                  }t          j                            |          sd S t	          j        d|           t          j        |           d S )NzRemoving %s)r   ospathexistsr   r   remove)r   r   s     r   uninstall_namespaceszInstaller.uninstall_namespaces!   sV    ''))w~~h'' 	F)))
	(    c                 ~    t           j                            |                                           \  }}|| j        z   S N)r    r!   splitext_get_target	nspkg_ext)r   r   _s      r   r   zInstaller._get_nspkg_file(   s4    g&&t'7'7'9'9::!$.((r%   c                     | j         S r'   )targetr   s    r   r)   zInstaller._get_target,   s
    {r%   )zimport sys, types, osz$p = os.path.join(%(root)s, *%(pth)r)z(importlib = __import__('importlib.util')z!__import__('importlib.machinery')zm = 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_rootD   s    55r%   c                    t          |                    d                    }|                                 }| j        }|                    d          \  }}}|r
|| j        z  }d                    |          t                      z  dz   S )N.;
)tuplesplitr1   _nspkg_tmpl
rpartition_nspkg_tmpl_multijoinlocals)r   pkgpthroot
tmpl_linesparentsepchilds           r   r   zInstaller._gen_nspkg_lineG   s}    CIIcNN##~~%
 ^^C00U 	1$00Jxx
##fhh.55r%   c           
          | j         j        pg }t          t          t	          t          | j        |                                        S )z,Return sorted list of all package namespaces)distributionnamespace_packagessortedsetflattenr   
_pkg_names)r   pkgss     r   r   zInstaller._get_all_ns_packagesP   s<     39rc'#dot"<"<==>>???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
        r3   N)r7   r;   pop)r=   partss     r   rJ   zInstaller._pkg_namesU   s`       		# 	((5//!!!IIKKK  	 	 	 	 	r%   )r   N)__name__
__module____qualname__r*   r   r$   r   r)   r8   r:   r1   r   r   staticmethodrJ   r0   r%   r   r   r      s        I       &   ) ) )  K  (Q;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   r1   zDevelopInstaller._get_rootf   s    C&&'''r%   c                     | j         S r'   )egg_linkr.   s    r   r)   zDevelopInstaller._get_targeti   s
    }r%   N)rO   rP   rQ   r1   r)   r0   r%   r   rT   rT   e   s2        ( ( (    r%   rT   )	itertoolsr    compatr   	distutilsr   chainfrom_iterablerI   r   rT   r0   r%   r   <module>r`      s        				            
/
'W W W W W W W Wt    y     r%   