o
    Uh	                     @   sH   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 G dd deZdS )    N   )Distributionc                   @   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y   d }Y nw tj| }n|j| _|| _|| _	| 
  d S N)
isinstancestrpackage_name
__import__ImportErrorsysmodules__name__packagemetadata_versionextractMetadata)selfr   r    r   e/var/www/html/construction_image-detection-poc/venv/lib/python3.10/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 ]}||rO|||d |||| |||| q3t j	| jj
\}}	|||| |||d| |||| |||d|  D ]F}
t j|
r|
 d	r||
d
}n|
dr||
d}nqz|
}t j|rtj|dd}| W  d      S 1 sw   Y  qztd| j  d S )N) Nz%s*.egg-infoz%s*.dist-info__file__c                    s     t|  d S r   )extendglob)where
candidatesr   r   _add_candidate%   s   z&Installed.read.<locals>._add_candidatezEGG-INFOz..zegg-infozPKG-INFOz	dist-info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   opjr   egg_patterndist_patternpkg_filer   entrydirname	candidater!   fr   r   r   r-      sH   



$zInstalled.readr   )r   
__module____qualname__r   r-   r   r   r   r   r   	   s    
r   )r   r+   r    r   r.   distributionr   r   r   r   r   r   <module>   s    