a
    a	                     @   sT   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 G dd deZ	dS )    N   )Distribution)STRING_TYPESc                   @   s   e Zd ZdddZdd ZdS )	InstalledNc                 C   s`   t |tr@|| _zt| W n ty2   d }Y qH0 tj| }n|j| _|| _|| _	| 
  d S N)
isinstancer   package_name
__import__ImportErrorsysmodules__name__packagemetadata_versionZextractMetadata)selfr   r    r   0lib/python3.9/site-packages/pkginfo/installed.py__init__   s    

zInstalled.__init__c              	      s  t jj}| jd ur| jj}|dv r,| jj}d| }d| }t| jdd }|d urg   fdd}tjD ]8}||rj|||d |||| |||| qjt j	| jj
\}}	|||| |||d| |||| |||d|  D ]}
t j|
r@|
 d	r&||
d
}n|
dr||
d}nqn|
}t j|rtj|dd}| W  d      S 1 s0    Y  qtd| j  d S )N) Nz%s*.egg-infoz%s*.dist-info__file__c                    s     t|  d S r   )extendglob)whereZ
candidatesr   r   _add_candidate&   s    z&Installed.read.<locals>._add_candidatezEGG-INFOz..zegg-infozPKG-INFOz	dist-infoZMETADATAignore)errorsz!No PKG-INFO found for package: %s)ospathjoinr   __package__r   getattrr   
startswithsplitr   isdirlowerendswithexistsioopenreadwarningswarnr   )r   Zopjr   Zegg_patternZdist_patternfiler   entrydirname	candidater   fr   r   r   r*      sB    



.zInstalled.read)N)r   
__module____qualname__r   r*   r   r   r   r   r   
   s   
r   )
r   r(   r   r   r+   Zdistributionr   Z_compatr   r   r   r   r   r   <module>   s   