
    .Phe              	       ^   d dl Z d dlmZ d dlZd ZeZd Zd Zd Zd Z	dZ
e
d	z   Zed
z   ZeZedz   Zedz   ZeZedz   Ze
eeeeeeedZd Zd eD             Z ee          Zd                    d eD                       Z G d de          Z G d de          Z G d de          ZdS )    N)Parserc                     t          |           t          u r;	 |                     d          S # t          $ r |                     d          cY S w xY w| S )Nzutf-8latin1)typebytesdecodeUnicodeDecodeError)values    T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pkginfo/distribution.py_must_decoder      sb    E{{e	*<<(((! 	* 	* 	*<<)))))	*Ls   - AAc                 D    t                                          |           S N)r   parse)fps    r   r   r      s    88>>"    c                 H    t          ||                     |                    S r   )_collapse_leading_wsgetmsgheaders     r   r   r      s    888r   c                 F    fd|                                D             S )Nc                 0    g | ]}t          |          S  )r   ).0xr   s     r   
<listcomp>zget_all.<locals>.<listcomp>   s$    III ++IIIr   )get_allr   s    `r   r   r      s)    IIIIS[[5H5HIIIIr   c                    |                                  dk    rCd                    d |                                                                D                       S d                    d |                                D                       S )zL
    ``Description`` header must preserve newlines; all others need not
    description
c                 P    g | ]#}|                     d           r
|dd         n|$S )z           N)
startswithr   r   s     r   r   z(_collapse_leading_ws.<locals>.<listcomp>   sE     = = = $%<<#8#8?!ABB%%a = = =r    c                 6    g | ]}|                                 S r   )stripr%   s     r   r   z(_collapse_leading_ws.<locals>.<listcomp>   s     ===q===r   )lowerjoinr(   
splitlines)r   txts     r   r   r      s     ||~~&&yy = =#&99;;#9#9#;#;= = = > > 	> xx==CNN,<,<===>>>r   ))Metadata-Versionmetadata_versionF)NamenameF)VersionversionF)Platform	platformsT)zSupported-Platformsupported_platformsT)SummarysummaryF)Descriptionr    F)KeywordskeywordsF)z	Home-Page	home_pageF)AuthorauthorF)zAuthor-emailauthor_emailF)LicenselicenseF))
ClassifierclassifiersT)zDownload-URLdownload_urlF)RequiresrequiresT)ProvidesprovidesT)	Obsoletes	obsoletesT))
Maintainer
maintainerF)zMaintainer-emailmaintainer_emailF)zRequires-Pythonrequires_pythonF)zRequires-Externalrequires_externalT)zRequires-Distrequires_distT)zProvides-Distprovides_distT)zObsoletes-Distobsoletes_distT)zProject-URLproject_urlsT))zProvides-Extraprovides_extrasT)zDescription-Content-Typedescription_content_typeF))DynamicdynamicT))zLicense-Expressionlicense_expressionF)zLicense-Filelicense_fileT)z1.0z1.1z1.2z2.0z2.1z2.2z2.3z2.4c                 b    | dS t          d |                     d          D                       S )N)r   r   c                 ,    g | ]}t          |          S r   )int)r   parts     r   r   z"_version_tuple.<locals>.<listcomp>e   s    ;;;tT;;;r   .)tuplesplit)r.   s    r   _version_tupler`   a   s?    v;;/55c::;;;  r   c                 ,    g | ]}t          |          S r   )r`   )r   keys     r   r   r   h   s-       N3  r   r]   c              #   4   K   | ]}t          |          V  d S r   )str)r   elements     r   	<genexpr>rf   n   s9       $ $CLL$ $ $ $ $ $r   c                        e Zd Z fdZ xZS )UnknownMetadataVersionc                 ^    || _         t                                          d|            d S )NzUnknown metadata version: )r.   super__init__selfr.   	__class__s     r   rk   zUnknownMetadataVersion.__init__t   s3     0H6FHHIIIIIr   __name__
__module____qualname__rk   __classcell__rn   s   @r   rh   rh   s   sA        J J J J J J J J Jr   rh   c                        e Zd Z fdZ xZS )NewMetadataVersionc                 n    || _         t                                          d| dt                      d S )NzNew metadata version (z3) higher than latest supported version: parsing as )r.   rj   rk   MAX_METADATA_VERSION_STRrl   s     r   rk   zNewMetadataVersion.__init__z   sU     0O%5 O O4LO O	
 	
 	
 	
 	
r   ro   rt   s   @r   rv   rv   y   s8        
 
 
 
 
 
 
 
 
r   rv   c                       e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ d Z!d Z"d Z#d Z$d Z%e%Z&dS )DistributionNr   c                 X    |                                  }|                     |           d S r   )readr   )rm   datas     r   extractMetadatazDistribution.extractMetadata   s'    yy{{

4r   c                     t           r   )NotImplementedError)rm   s    r   r|   zDistribution.read   s    !!r   c                    t                               | j                  }|	 t          | j                  }n7# t          $ r* t          j        t          | j                             Y dS w xY w|t          k    r8t          j        t          | j                             t           t                   S t          j        t          | j                             dS |S )Nr   )HEADER_ATTRSr   r.   r`   
ValueErrorwarningswarnrh   MAX_METADATA_VERSIONrv   rx   )rm   foundv_tuples      r   _getHeaderAttrszDistribution._getHeaderAttrs   s      !677=()>??   4T5JKKLLLrr ---01FGGHHH#$<==4T5JKKLLLrs   8 0A,+A,c                    t          j        t          |                    }t          |          }d|v r | j        t          |d          }|x}| _        |                                 D ]\\  }}}|dk    r||v rK|r"t          ||          }	t          | ||	           5t          ||          }|dk    rt          | ||           ]|	                                }
|
rt          | d|
           d S d S )Nr-   r.   UNKNOWNr    )
ioStringIOr   r   r.   r   r   r   setattrget_payload)rm   r}   r   r   r
   r.   header_name	attr_namemultiplevaluesbodys              r   r   zDistribution.parse   s#   [d++,,Bii$$)>)F/00E7<<t4040D0D0F0F 	8 	8,KH...c!! 8$S+66FD)V4444[11E	))i777   	/D-.....	/ 	/r   c              #   H   K   |                                  D ]
\  }}}|V  d S r   )r   )rm   r   r   r   s       r   __iter__zDistribution.__iter__   s=      040D0D0F0F 	 	,KHOOOO	 	r   )'rp   rq   rr   r.   r0   r2   r4   r5   r7   r    r:   r;   rC   r=   r>   r@   rB   rE   rG   rI   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rV   rW   rX   r~   r|   r   r   r   iterkeysr   r   r   rz   rz      s        DGIGKHILFLGKHHIJOMMNLO#GL  " " "  $/ / /4   HHHr   rz   )r   email.parserr   r   r   must_decoder   r   r   r   HEADER_ATTRS_1_0HEADER_ATTRS_1_1HEADER_ATTRS_1_2HEADER_ATTRS_2_0HEADER_ATTRS_2_1HEADER_ATTRS_2_2HEADER_ATTRS_2_3HEADER_ATTRS_2_4r   r`   METADATA_VERSIONSmaxr   r*   rx   UserWarningrh   rv   objectrz   r   r   r   <module>r      s   				            9 9 9J J J? ? ?  $ '   $ 	' 	  $ # '  
 $ '   $ # '   	 	   #/    s,-- 88 $ $ 4$ $ $   
J J J J J[ J J J
 
 
 
 
 
 
 
] ] ] ] ]6 ] ] ] ] ]r   