
    d+	                     j    d dl Z d dlZd dlZd dlZddlmZ  G d de          Z G d de          ZdS )    N   )Distributionc                   2    e Zd ZddZed             Zd ZdS )SDistNc                 J    || _         || _        |                                  d S N)filenamemetadata_versionextractMetadata)selfr	   r
   s      -lib/python3.11/site-packages/pkginfo/sdist.py__init__zSDist.__init__
   s)      0    c                    t           j                            |          st          d|z            t	          j        |          r.t	          j        |                                          }fd}n_t          j	        |          r9t          j
                            |                                          }fd}nt          d|z            ||fS )NNo such file: %sc                 .                         |           S r   )readnamearchives    r   	read_filez%SDist._get_archive.<locals>.read_file   s    ||D)))r   c                 R                         |                                           S r   )extractfiler   r   s    r   r   z%SDist._get_archive.<locals>.read_file   s#    **40055777r   zNot a known archive format: %s)ospathexists
ValueErrorzipfile
is_zipfileZipFilenamelisttarfile
is_tarfileTarFileopengetnames)clsfqnnamesr   r   s       @r   _get_archivezSDist._get_archive   s    w~~c"" 	7/#5666c"" 	Eoc**G$$&&E* * * * * *$$ 	Eo**3//G$$&&E8 8 8 8 8 8 =CDDDy((r   c                    t           j                            t           j                            | j                            }|                     |          \  }}}	 d |D             }t          d |D                       }d |D             D ]>}d                    |          } ||          }	d|	v r|	c |                                 S ?	 |                                 n# |                                 w xY wt          d|z            )Nc                 @    g | ]}d |v |                     d          S )PKG-INFO/)split.0xs     r   
<listcomp>zSDist.read.<locals>.<listcomp>+   s+    EEEqZ1_EaggcllEEEr   c                 0    g | ]}t          |          |fS  )lenr0   s     r   r3   zSDist.read.<locals>.<listcomp>,   s"    :::as1vvqk:::r   c                     g | ]
}|d          S )r   r5   r0   s     r   r3   zSDist.read.<locals>.<listcomp>-   s    ///!1///r   r.   s   Metadata-VersionzNo PKG-INFO in archive: %s)
r   r   abspathnormpathr	   r*   sortedjoincloser   )
r   r(   r   r)   r   tuplesschwarzr   	candidatedatas
             r   r   z
SDist.read$   s   goo  //1 1 %)$5$5c$:$:!			EEEEEEF::6:::;;G//w///    HHTNN	 y++&$.  KKMMOOOO   MMOOOOGMMOOOO5;<<<s   AC" C" "C8r   )__name__
__module____qualname__r   classmethodr*   r   r5   r   r   r   r      sR           
 ) ) [)(= = = = =r   r   c                   &     e Zd Zd fd	Zd Z xZS )UnpackedSDistNc                 >   t           j                            |          rnQt           j                            |          r t           j                            |          }nt          d|z            t          t          |                               ||           d S )Nr   )r
   )	r   r   isdirisfiledirnamer   superrF   r   )r   r	   r
   	__class__s      r   r   zUnpackedSDist.__init__9   s    7=="" 	<W^^H%% 	<wx00HH/(:;;;mT""+++; 	, 	= 	= 	= 	= 	=r   c                 .   	 t           j                            | j        d          }t	          j        |d          5 }|                                cd d d            S # 1 swxY w Y   d S # t          $ r}t          d| j        d|          d }~ww xY w)Nr-   ignore)errorszCould not load z as an unpacked sdist: )	r   r   r;   r	   ior%   r   	Exceptionr   )r   pkg_infofes       r   r   zUnpackedSDist.readD   s    	6w||DM:>>H(333  qvvxx                                    	6 	6 	6*#'===!!5 6 6 6	6s:   ;A+ AA+ A""A+ %A"&A+ +
B5BBr   )rA   rB   rC   r   r   __classcell__)rL   s   @r   rF   rF   8   sL        	= 	= 	= 	= 	= 	=6 6 6 6 6 6 6r   rF   )rP   r   r"   r   distributionr   r   rF   r5   r   r   <module>rW      s    				 				   & & & & & &-= -= -= -= -=L -= -= -=`6 6 6 6 6E 6 6 6 6 6r   