
    Ixh                     ^    d dl Z d dlZd dlmZmZ d dlmc mZ  G d dej                  ZdS )    N)productstarmapc                   r    e Zd ZdZd Zd Zd Zd Zd Ze	d             Z
d Ze	d	             Z	 ddZd ZdS )install_libz9Don't add compiled flags to filenames of non-Python filesc                 `    t           j                            |            d | _        d | _        d S N)origr   initialize_options	multiarchinstall_layout)selfs    Q/var/www/html/what/lib/python3.11/site-packages/setuptools/command/install_lib.pyr
   zinstall_lib.initialize_options
   s.    ++D111"    c                     t           j                            |            |                     dd           | j        dk    r8t
          j        d d         dk    r"dd l}|                    d          | _	        d S d S d S )Ninstall)r   r   deb   )   r   r   	MULTIARCH)
r	   r   finalize_optionsset_undefined_optionsr   sysversion_info	sysconfigget_config_varr   )r   r   s     r   r   zinstall_lib.finalize_options   s    ))$///""9-PQQQ%''C,<RaR,@F,J,J&55kBBDNNN (',J,Jr   c                     |                                   |                                 }||                     |           d S d S r   )buildr   byte_compile)r   outfiless     r   runzinstall_lib.run   sD    

<<>>h'''''  r   c                       fd                                  D             }t          |                                           }t          t	           j        |                    S )z
        Return a collections.Sized collections.Container of paths to be
        excluded for single_version_externally_managed installations.
        c              3   L   K   | ]}                     |          D ]}|V  d S r   )_all_packages).0ns_pkgpkgr   s      r   	<genexpr>z-install_lib.get_exclusions.<locals>.<genexpr>"   s\       
 
))&11
 
  
 
 
 
 
 
 
r   )_get_SVEM_NSPsr   _gen_exclusion_pathssetr   _exclude_pkg_path)r   all_packages
excl_specss   `  r   get_exclusionszinstall_lib.get_exclusions   so    

 
 
 
--//
 
 
 \4+D+D+F+FGG
741:>>???r   c                 l    |                     d          |gz   }t          j        j        | j        g|R  S )zw
        Given a package name and exclusion path within that package,
        compute the full exclusion path.
        .)splitospathjoininstall_dir)r   r&   exclusion_pathpartss       r   r+   zinstall_lib._exclude_pkg_path+   s8    
 		#.!11w|D,5u5555r   c              #   P   K   | r!| V  |                      d          \  } }}| dS dS )zn
        >>> list(install_lib._all_packages('foo.bar.baz'))
        ['foo.bar.baz', 'foo.bar', 'foo']
        r0   N)
rpartition)pkg_namesepchilds      r   r#   zinstall_lib._all_packages3   sQ        	<NNN#+#6#6s#;#; Hc5  	< 	< 	< 	< 	<r   c                 v    | j         j        sg S |                     d          }|j        }|r| j         j        ng S )z
        Get namespace packages (list) but only for
        single_version_externally_managed installations and empty otherwise.
        r   )distributionnamespace_packagesget_finalized_command!single_version_externally_managed)r   install_cmdsvems      r   r(   zinstall_lib._get_SVEM_NSPs=   sH      3 	I00;;<7;Ct 33Cr   c               #      K   dV  dV  dV  t          t          d          sdS t          j                            ddt          j        j        z             } | dz   V  | d	z   V  | d
z   V  | dz   V  dS )zk
        Generate file paths to be excluded for namespace packages (bytecode
        cache files).
        z__init__.pyz__init__.pycz__init__.pyoimplementationN__pycache__z	__init__.z.pycz.pyoz
.opt-1.pycz
.opt-2.pyc)hasattrr   r2   r3   r4   rE   	cache_tag)bases    r   r)   z install_lib._gen_exclusion_pathsM   s       s,-- 	Fw||;);)EEG GVmVm\!!!!\!!!!!!r      r   c                     |r|r|rJ                                   s6dd l} j        |j        _        t
          j                             ||          S ddlm	} ddl
m g  j        r_dd l}	|	                    d                               j        dd          z             rd nd d         d j        dd           fd}
 ||||
           S )Nr   )unpack_directory)log
EXT_SUFFIX-c                    |v r                     d|           dS j        rurs|                              r^|                              sI|                              }                    dt
          j                            |                                         d| t
          j                            |                     	                    |           |S )Nz/Skipping installation of %s (namespace package)Fzrenaming extension to %szcopying %s -> %s)
warnr   endswithreplaceinfor2   r3   basenamedirnameappend)srcdstexclude
ext_suffixrM   
new_suffixr   r   s     r   pfz!install_lib.copy_tree.<locals>.pf~   s    g~~J  u~ L* Lj1I1I LRUR^R^_iRjRj Lkk*j993RW5E5Ec5J5JKKKHH'bgooc.B.BCCCOOC   Jr   )r.   distutils.dir_utilr   dir_util
_multiarchr	   r   	copy_treesetuptools.archive_utilrL   	distutilsrM   r   r   rS   )r   infileoutfilepreserve_modepreserve_timespreserve_symlinkslevelrd   rL   r   r^   r[   r\   rM   r]   r   s   `          @@@@@r   rb   zinstall_lib.copy_treec   sh    II8IIII%%'' 	E%%%%,0NI)#--dFGDDD 	=<<<<<!!!!!!> 	\"11<@@J""4>JrssO#CDD \!

*4SbS///4>>:VXVYVY??[
	 	 	 	 	 	 	 	 	 	 	"---r   c                     t           j                            |           }|                                 rfd|D             S |S )Nc                     g | ]}|v|	S  rm   )r$   fr[   s     r   
<listcomp>z+install_lib.get_outputs.<locals>.<listcomp>   s#    ;;;!!7*:*:A*:*:*:r   )r	   r   get_outputsr.   )r   outputsr[   s     @r   rp   zinstall_lib.get_outputs   sQ    "..t44%%'' 	<;;;;w;;;;r   N)rJ   rJ   r   rJ   )__name__
__module____qualname____doc__r
   r   r    r.   r+   staticmethodr#   r(   r)   rb   rp   rm   r   r   r   r      s        CC# # #
C C C( ( (@ @ @6 6 6 < < \<D D D  " " \". KL* * * *X    r   r   )	r2   r   	itertoolsr   r   distutils.command.install_libcommandr   r	   rm   r   r   <module>rz      s    				 



 & & & & & & & & , , , , , , , , ,M M M M M$" M M M M Mr   