File: //usr/lib/python3.9/site-packages/argcomplete/__pycache__/_check_module.cpython-39.pyc
a
�]!
�
@ s� d Z ddlZddlZddlZzddlmZ W n@ eyl ddlmZ ddl m
Z
edg d��Zdd � ZY n0 G d
d� de�Z
dd
d�Zdd� Zedkr�z
e� W n. e
y� Z ze�e� W Y dZ[n
dZ[0 0 dS )a
Utility for locating a module (or package's __main__.py) with a given name
and verifying it contains the PYTHON_ARGCOMPLETE_OK marker.
The module name should be specified in a form usable with `python -m`.
Intended to be invoked by argcomplete's global completion function.
� N)� find_spec)�
namedtuple)�find_module�
ModuleSpec)�origin�has_location�submodule_search_locationsc C sZ zt | �\}}}W n ty& Y dS 0 |du}|du rFtd||g�S |�� t||d�S )z-Minimal implementation as required by `find`.N)r �ImportErrorr �close)�name�f�path�_r � r �=/usr/lib/python3.9/site-packages/argcomplete/_check_module.pyr s r c @ s e Zd ZdS )�ArgcompleteMarkerNotFoundN)�__name__�
__module__�__qualname__r r r r r # s r Fc C s� | � d�}t|d �}|d u r0td�|d ���|js>td��|jd u rlt|�dkrftd�|d ���|jS t|j�dkr�td��tj j
|jd g|dd � �R � }tj �|�r�d}|r�d }tj �
||�S |d
S d S )N�.r zno module named "{}"zcannot locate file� z{} is not a packagezexpecting one search locationz__main__.pyz__init__.pyz.py)�splitr r �formatr r �lenr �osr
�join�isdir)r Zreturn_package�names�specr
�filenamer r r �find'