B
    {[                 @   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   sb   t |trB|| _yt| W n tk
r4   d }Y qJX tj| }n|j| _|| _|| _	| 
  d S )N)
isinstancer   package_name
__import__ImportErrorsysmodules__name__packagemetadata_versionZextractMetadata)selfr   r    r   0lib/python3.7/site-packages/pkginfo/installed.py__init__   s    

zInstalled.__init__c          
      s,  t jj}| jd k	r| jj}|d kr,| jj}d| }t| jdd }|d k	rg   fdd}x4tjD ]*}||rd|||d |||| qdW t j	| jj
\}}|||| |||d| xR D ]J}	t j|	r||	d}
n|	}
t j|
rtj|
dd	
}| S Q R X qW td
| j  d S )Nz%s*.egg-info__file__c                s     t|  d S )N)extendglob)where)
candidatesr   r   _add_candidate%   s    z&Installed.read.<locals>._add_candidatezEGG-INFOz..zPKG-INFOignore)errorsz!No PKG-INFO found for package: %s)ospathjoinr   __package__r   getattrr
   
startswithsplitr   isdirexistsioopenreadwarningswarnr   )r   Zopjr   patternfiler   entrydirname	candidater   fr   )r   r   r&      s2    


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   