
    B/g                         S r SSKrSSKrSSKrSSKJr   " S S\5      rS	S jrS r	\
S:X  a	   \	" 5         gg! \ a"  r\R                  " \" \5      5         SrCgSrCff = f)
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                       \ rS rSrSrg)ArgcompleteMarkerNotFound    N)__name__
__module____qualname____firstlineno____static_attributes__r       ;/usr/lib/python3/dist-packages/argcomplete/_check_module.pyr   r      s    r   r   c           	         U R                  S5      n[        [        U5      5       H7  n[        SR	                  US US-    5      5      nUc  M(  UR
                  c  M7    O   Wc  [        SR                  US   5      5      eUR                  (       d  [        S5      eUR                  c8  [        U5      S:w  a  [        SR                  US   5      5      eUR
                  $ [        UR                  5      S:w  a  [        S5      e[        R                  R                  " UR                  S   /UWS-   S  Q76 n[        R                  R                  U5      (       a*  SnU(       a  S	n[        R                  R	                  XV5      $ U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#      sV   JJsOE!&s5z!2%(C*?!*C"DEF 7 "3
 |'(>(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                  P    [         R                  S   n [	        U 5      n [
        R                  " U5      nU   UR                  S5      nS S S 5        SW;  a  [        S5      eg ! [         a    [        S5      ef = f! [         a    [        S5      ef = f! , (       d  f       NR= f)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%A;>B
B%__main__)F)__doc__r   r&   r)   importlib.utilr   RuntimeErrorr   r#   r/   r   eexitstrr   r   r   <module>r7      sl    
 
  $	 	8<( z  % Qs   8 A AA 