
    vKgc                         S SK r S SKrSSKJr  S SKJr  \ R                  R                  r " S S5      r	 " S S\	5      r
g)	    N   )py312)logc                   f    \ rS rSrSrSS jrSS jrS rS rSr	 S	r
 S
 rS rS r\S 5       rSrg)	Installer   z
-nspkg.pthNc                    U R                  5       nU(       d  g U R                  5       nU R                  R                  U5        [        R
                  " SU5        [        U R                  U5      nU R                  (       a  [        U5        g [        US[        R                  S9 nUR                  U5        S S S 5        g ! , (       d  f       g = f)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        U/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/namespaces.pyinstall_namespacesInstaller.install_namespaces   s    '')'')H%(+D((#.<<K(D5+=+=>! LL ?>>s   'C
Cc                     U R                  5       n[        R                  R                  U5      (       d  g [        R
                  " SU5        [        R                  " U5        g )NzRemoving %s)r   ospathexistsr   r   remove)r   r   s     r   uninstall_namespacesInstaller.uninstall_namespaces!   s@    '')ww~~h'')
		(    c                 |    [         R                  R                  U R                  5       5      u  pXR                  -   $ N)r!   r"   splitext_get_target	nspkg_ext)r   r   _s      r   r   Installer._get_nspkg_file(   s.    gg&&t'7'7'9:..((r'   c                     U R                   $ r)   )targetr   s    r   r+   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                     g)Nz$sys._getframe(1).f_locals['sitedir'] r1   s    r   	_get_rootInstaller._get_rootD   s    5r'   c                     [        UR                  S5      5      nU R                  5       nU R                  nUR	                  S5      u  pVnU(       a  X@R
                  -  nSR                  U5      [        5       -  S-   $ )N.;
)tuplesplitr5   _nspkg_tmpl
rpartition_nspkg_tmpl_multijoinlocals)r   pkgpthroot
tmpl_linesparentsepchilds           r   r   Installer._gen_nspkg_lineG   sj    CIIcN#~~%%
 ^^C0U000Jxx
#fh.55r'   c           
          U R                   R                  =(       d    / n[        [        [	        [        U R                  U5      5      5      5      $ )z,Return sorted list of all package namespaces)distributionnamespace_packagessortedsetflattenr   
_pkg_names)r   pkgss     r   r   Installer._get_all_ns_packagesP   s8      339rc'#doot"<=>??r'   c              #      #    U R                  S5      nU(       a-  SR                  U5      v   UR                  5         U(       a  M,  gg7f)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
r8   N)r<   r@   pop)rB   partss     r   rP   Installer._pkg_namesU   s5      		#((5/!IIK es   AA	A	r4   )returnN)__name__
__module____qualname____firstlineno__r,   r   r%   r   r+   r=   r?   r5   r   r   staticmethodrP   __static_attributes__r4   r'   r   r   r      sT    I &)K  (Q;66@
  r'   r   c                        \ rS rSrS rS rSrg)DevelopInstallere   c                 >    [        [        U R                  5      5      $ r)   )reprstregg_pathr1   s    r   r5   DevelopInstaller._get_rootf   s    C&''r'   c                     U R                   $ r)   )egg_linkr1   s    r   r+   DevelopInstaller._get_targeti   s    }}r'   r4   N)rX   rY   rZ   r[   r5   r+   r]   r4   r'   r   r_   r_   e   s    (r'   r_   )	itertoolsr!   compatr   	distutilsr   chainfrom_iterablerO   r   r_   r4   r'   r   <module>rn      s9     	  
//
'
'W Wty r'   