a
    a                     @   s^   d dl Z d dlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ dd	d
ZdS )    N)
ModuleType   )BDist)Develop)	Installed)SDist)Wheelc              	   C   sH  t | tr.zt| |W S  ttfy,   Y n0 zt|  W n tyL   Y n&0 zt| |W S  ttfyp   Y n0 tj	| rzt
| |W S  ttfy   Y n0 zt| |W S  ttfy   Y n0 zt| |W S  ttfy   Y n0 tj| rDzt| |W S  ttfy   Y n0 zt| |W S  ttfyB   Y n0 dS )a>   Try to create a Distribution 'path_or_module'.

    o 'path_or_module' may be a module object.

    o If a string, 'path_or_module' may point to an sdist file, a bdist
      file, an installed package, or a working checkout (if it contains
      PKG-INFO).

    o Return None if 'path_or_module' can't be parsed.
    N)
isinstancer   r   
ValueErrorIOError
__import__ImportErrorospathisfiler   r   r   isdirr   )Zpath_or_moduleZmetadata_version r   ,lib/python3.9/site-packages/pkginfo/utils.pyget_metadata
   sF    
r   )N)r   typesr   Zbdistr   Zdevelopr   Z	installedr   Zsdistr   Zwheelr   r   r   r   r   r   <module>   s   