
    e                         d dl Z d dlZ	 d dlZej                  dk  rd dlmZ nd dlmZ  G d de j                        Z	d Z
d Zd Zd	 Zy# e$ r Y Ew xY w)
    N)   	   )filesc                       e Zd Zd Zy)_MissingCompletionActionc                 <    t        d       |j                  d       y )Nz3Install keyring[completion] for completion support.r   )printexit)selfparser	namespacevaluesoption_strings        4/usr/lib/python3/dist-packages/keyring/completion.py__call__z!_MissingCompletionAction.__call__   s    CDA    N)__name__
__module____qualname__r    r   r   r   r      s    r   r   c                 <    | j                  dg dt        d       | S )z"Add completion argument to parser.z--print-completion)bashzshtcshzprint shell completion script)choicesactionhelp)add_argumentr   r   s    r   add_completion_noticer       s(    
'',	   Mr   c                 6    fd| j                   D        \  }|S )Nc              3   @   K   | ]  }|j                   v s|  y wN)option_strings).0r   options     r   	<genexpr>zget_action.<locals>.<genexpr>!   s     X6&BWBW8WXs   )_actions)r   r&   matchs    ` r   
get_actionr*       s    XV__XHULr   c                 t   t        t        t              j                  d      j	                  d      t        t              j                  d      j	                  d            }t        j                  | |       t
        j                  t        | d      _	        t        dd	      t        | d
      _	        | S )Nzbackend_complete.bashzutf-8)encodingzbackend_complete.zsh)r   r   )preamblez--keyring-path_keyring_backendsbackend_completez--keyring-backend)
dictr   __package__joinpath	read_textshtabadd_argument_toDIRr*   complete)r   r-   s     r   install_completionr8   %   s    ;	)	*	G	$+	(	)	G	$H 
&8449IIJv'(17; 8Jv*+4 Mr   c                 P    	 t        |        y # t        $ r t        |        Y y w xY wr#   )r8   	NameErrorr    r   s    r   installr;   7   s&    &6" &f%&s    %%)argparsesysr4   ImportErrorversion_infoimportlib_resourcesr   importlib.resourcesActionr   r    r*   r8   r;   r   r   r   <module>rC      sb     
	 f))x 
$&c  		s   A AA