
    5i                         d Z ddlZddlZddlZddlmZ  G d de      Zd	dZd Z	e
dk(  r		  e	        yy# e$ r"Z ej                   ee             Y dZ[ydZ[ww xY w)
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_specc                       e Zd Zy)ArgcompleteMarkerNotFoundN)__name__
__module____qualname__     {/home/marpiech/ifpan-abm-pgxpred/analysis/marpiech-gwas-test/venv/lib/python3.12/site-packages/argcomplete/_check_module.pyr   r      s    r
   r   c           	         | j                  d      }t        t        |            D ]3  }t        dj	                  |d |dz                }|&|j
                  3 n t        dj                  |d               |j                  st        d      |j                  7t        |      dk7  rt        dj                  |d               |j
                  S t        |j                        dk7  rt        d      t        j                  j                  |j                  d   g|dz   d   }t        j                  j                  |      r&d}|rd	}t        j                  j	                  ||      S |d
z   S )N.   zno module named "{}"r   zcannot locate filez{} is not a packagezexpecting one search locationz__main__.pyz__init__.pyz.py)splitrangelenr   joinoriginr   formathas_locationsubmodule_search_locationsospathisdir)namereturn_packagenamespackage_name_boundaryspecr   filenames          r   findr       sZ   JJsOE!&s5z!2 %(C*?!*C"DEF 7
 |'(>(E(EeAh(OPP'(<==&&.u:?+,A,H,Hq,RSS{{
4**+q0'(GHH77<<77:`UCX[\C\C^=_`D	ww}}T $Hww||D(++e|r
   c                  <   	 t         j                  d   } t	        |       }	 t        j                  |      }|5  |j                  d      }d d d        dvrt        d      y # t        $ r t        d      w xY w# t        $ r t        d      w xY w# 1 sw Y   IxY w)Nr   z$missing argument on the command linezcannot open filei   PYTHON_ARGCOMPLETE_OKzmarker not found)	sysargv
IndexErrorr   r    tokenizeopenOSErrorread)r   r   fpheads       r   mainr,   0   s    Pxx{ DzH<]]8$ 
 wwt} d*'(:;; +  P'(NOOP  <'(:;;< s!   A" A: B"A7:BB__main__)F)__doc__r   r#   r&   importlib.utilr   RuntimeErrorr   r    r,   r   eexitstrr	   r
   r   <module>r4      sn    
 
  $	 	8<( z  % Qs   6 AAA