
    ϶vg!                     F   d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
 ddlmZ ddlmZ ddlZddlmZ ddlmZmZ dd	lmZ dd
lmZ  ej        dej                  j        ZdZej        d             Z ddZ!ej"        d             Z# G d d          Z$dS )zWheels support.    Nsys_tags)canonicalize_name)Version)_unpack_zipfile_obj)_egg_basenamewrite_requirements   )_read_utf8_with_fallback)get_platformz^(?P<project_name>.+?)-(?P<version>\d.*?)
    ((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?)
    )\.whl$z8__import__('pkg_resources').declare_namespace(__name__)
c                  2    d t                      D             S )Nc                 6    h | ]}|j         |j        |j        fS  )interpreterabiplatform.0ts     M/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/wheel.py	<setcomp>z&_get_supported_tags.<locals>.<setcomp>'   s%    CCC1Q]AE1:.CCC    r   r   r   r   _get_supported_tagsr   "   s    
 DC

CCCCr   returnc                    t          j        |           D ])\  }}}t           j                            ||           }|D ]X}t           j                            ||          }t           j                            |||          }t          j        ||           Yt          t          t          |                              D ]}\  }	}
t           j                            ||
          }t           j                            |||
          }t           j        	                    |          st          j        ||           ||	= ~+t          j        | d          D ]\  }}}|rJ t          j
        |           dS )zDMove everything under `src_dir` to `dst_dir`, and delete the former.T)topdownN)oswalkpathrelpathjoinrenamesreversedlist	enumerateexistsrmdir)src_dirdst_dirdirpathdirnames	filenamessubdirfsrcdstnds              r   unpackr3   *   se   (*(8(8    $9'22 	! 	!A',,w**C',,w22CJsC    T)H"5"56677 	  	 DAq',,w**C',,w22C7>>#&&   
3$$$QK	  )+(F(F(F  $9
 r   c               #      K   ddl m}  |                     | j                  }	 dV  |                     |           dS # |                     |           w xY w)z*
    Temporarily disable info traces.
    r   )logN)	distutilsr5   set_thresholdWARN)r5   saveds     r   disable_info_tracesr:   @   sq      
 ch''E!%     %    s	   ? Ac                   ~    e Zd ZddZd Zd Zd Zd ZddZd	 Z	e
d
             Ze
d             Ze
d             ZdS )Wheelr   Nc                    t          t          j                            |                    }|t	          d|z            || _        |                                                                D ]\  }}t          | ||           d S )Nzinvalid wheel name: %r)	
WHEEL_NAMEr   r   basename
ValueErrorfilename	groupdictitemssetattr)selfrA   matchkvs        r   __init__zWheel.__init__O   s    27++H5566=5@AAA OO%%++-- 	  	 DAqD!Q	  	 r   c                     t          j        | j                            d          | j                            d          | j                            d                    S )z>List tags (py_version, abi, platform) supported by this wheel..)	itertoolsproduct
py_versionsplitr   r   rE   s    r   tagsz
Wheel.tagsW   sN     O!!#&&HNN3M$$
 
 	
r   c                 Z    t          d |                                 D             d          S )z2Is the wheel compatible with the current platform?c              3   :   K   | ]}|t                      v d V  dS )TN)r   r   s     r   	<genexpr>z&Wheel.is_compatible.<locals>.<genexpr>a   s3      MMa!7J7L7L2L2LT2L2L2L2LMMr   F)nextrQ   rP   s    r   is_compatiblezWheel.is_compatible_   s)    MM499;;MMMuUUUr   c                 r    t          | j        | j        | j        dk    rd nt	                                dz   S )Nany)r   z.egg)r   project_nameversionr   r   rP   s    r   egg_namezWheel.egg_namec   sE    !"&-5"8"8$$lnn  
 	
r   c                    |                                 D ]c}t          j        |          }|                    d          r8t	          |                              t	          | j                            r|c S dt          d          )Nz
.dist-infoz.unsupported wheel format. .dist-info not found)namelist	posixpathdirnameendswithr   
startswithrY   r@   )rE   zfmemberr_   s       r   get_dist_infozWheel.get_dist_infom   s    kkmm 	 	F'//G-- 2CG2L2L2W2W!$"3443 3  IJJJr   c                     t          j        | j                  5 }|                     ||           ddd           dS # 1 swxY w Y   dS )z"Install wheel as an egg directory.N)zipfileZipFilerA   _install_as_egg)rE   destination_eggdirrb   s      r   install_as_eggzWheel.install_as_eggw   s    _T]++ 	9r  !3R888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   >AAc                 $   | j         d| j        }|                     |          }d|z  }t          j                            |d          }|                     ||||           |                     ||           |                     ||           d S )N-z%s.dataEGG-INFO)	rY   rZ   rd   r   r   r!   _convert_metadata_move_data_entries_fix_namespace_packages)rE   ri   rb   dist_basename	dist_info	dist_dataegg_infos          r   rh   zWheel._install_as_egg|   s    #'#4#4#4dllC&&r**	-	7<< 2J??r#5y(KKK 2I>>>$$X/ABBBBBr   c           	      0    dd l } fd} |d          }t          |                    d                    }t          d          |cxk    ot          d          k     nc }|st          d|z            t	           |           t
          j                            |          |j        	                    ||
                    |                    d	 t          t                                                              fd
j        D             }	t          j        |           t          j        t
          j                            |d          t
          j                            |d                     t!          j        t#          |	                    }
t%                      5  t'          |
                    d          d t
          j                            |d                     d d d            d S # 1 swxY w Y   d S )Nr   c                 8                        t          j        |                     5 }|                                                    d          }t
          j                                                            |          cd d d            S # 1 swxY w Y   d S )Nutf-8)	openr^   r!   readdecodeemailparserParserparsestr)namefpvaluerr   rb   s      r   get_metadataz-Wheel._convert_metadata.<locals>.get_metadata   s    	48899 =R		((11|**,,55e<<= = = = = = = = = = = = = = = = = =s   ABBBWHEELzWheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)metadatac                 .    d | _         t          |           S N)markerstr)reqs    r   raw_reqz(Wheel._convert_metadata.<locals>.raw_req   s    CJs88Or   c           
      r    i | ]3}|fd t                              |f                    D             4S )c                     g | ]}|v|	S r   r   )r   r   install_requiress     r   
<listcomp>z6Wheel._convert_metadata.<locals>.<dictcomp>.<listcomp>   s/       ... ...r   )maprequires)r   extradistr   r   s     r   
<dictcomp>z+Wheel._convert_metadata.<locals>.<dictcomp>   si     
 
 
      wuh(?(?@@  
 
 
r   METADATAzPKG-INFO)r   extras_require)attrsrt   zrequires.txt)pkg_resourcesparse_versiongetr@   r   r   r   r!   Distributionfrom_locationPathMetadatar$   r   r   extrasrename
setuptoolsdictr:   r	   get_command_obj)rb   ri   rr   rt   r   r   wheel_metadatawheel_versionwheel_v1r   
setup_distr   r   r   s   ` `        @@@r   rn   zWheel._convert_metadata   s   	= 	= 	= 	= 	= 	=
 &g..%n&8&8&I&IJJ ''=SSSS=;S;SSSSS 	UCmSTTTB 2333GLL!3Y??	)77"//0BINN 8 
 
	 	 	  GT]]__ = =>>
 
 
 
 
 
 
 
 
 		)X&&&
	GLL:..GLL:..	
 	
 	
  ,!1-  
 
 

 !"" 	 	**:66X~66  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ;AHHHc                    t           j                            |           t           j                            d          }t           j                            |          rt           j                            | dd          }t          j        |           t          j        |          D ]}|                    d          r3t          j        t           j                            ||                     Jt          j        t           j                            ||          t           j                            ||                     t          j	        |           t          t           j        j        fddD                       D ]}t          ||            t           j                                      rt          j	                   dS dS )z,Move data entries to their correct location.scriptsrm   z.pycc              3   X   K   | ]$}t           j                            |          V  %d S r   )r   r   r!   )r   r2   rs   s     r   rT   z+Wheel._move_data_entries.<locals>.<genexpr>   sG         Y**     r   )dataheaderspurelibplatlibN)r   r   r!   r&   mkdirlistdirr`   unlinkr   r'   filterr3   )ri   rs   dist_data_scriptsegg_info_scriptsentryr-   s    `    r   ro   zWheel._move_data_entries   s    GLL!3Y??	GLLI>>7>>+,, 	(!w||,>
IVVH%&&&$566 	 	 >>&)) Ibgll+<eDDEEEEI%6>>%5u==    H&'''GN   B  
 
 	/ 	/F 6-....7>>)$$ 	 HY	  	 r   c                    t           j                            | d          }t           j                            |          rt	          |                                          }|D ]}t          j        j        |g|                    d          R  }t           j                            |d          }t           j                            |          st          j        |           t           j                            |          sDt          |dd          5 }|                    t                     d d d            n# 1 swxY w Y   d S d S )Nznamespace_packages.txtrK   z__init__.pywrw   )encoding)
r   r   r!   r&   r   rO   r   rx   writeNAMESPACE_PACKAGE_INIT)rt   ri   namespace_packagesmodmod_dirmod_initr   s          r   rp   zWheel._fix_namespace_packages   s^   W\\(4LMM7>>,-- 
	9!9:L!M!M!S!S!U!U) 9 9','9KCIIcNNKKK7<<??w~~g.. &HW%%%w~~h// 9hg>>> 9"!78889 9 9 9 9 9 9 9 9 9 9 9 9 9 9
	9 
	99 9s   D;;D?	D?	r   N)__name__
__module____qualname__rI   rQ   rV   r[   rd   rj   rh   staticmethodrn   ro   rp   r   r   r   r<   r<   N   s               
 
 
V V V
 
 
K K K9 9 9 9
C C C 8 8 \8t     \ : 9 9 \9 9 9r   r<   r   )%__doc__
contextlibr{   	functoolsrL   r   r^   rerf   packaging.tagsr   packaging.utilsr   packaging.versionr   r   r   setuptools.archive_utilr   setuptools.command.egg_infor   r	   unicode_utilsr   distutils.utilr   compileVERBOSErF   r>   r   cacher   r3   contextmanagerr:   r<   r   r   r   <module>r      s                  				     				  # # # # # # - - - - - - 6 6 6 6 6 6     7 7 7 7 7 7 I I I I I I I I 3 3 3 3 3 3 ' ' ' ' ' 'RZ J	 
   U  D D D   , 
! 
! 
!^9 ^9 ^9 ^9 ^9 ^9 ^9 ^9 ^9 ^9r   