o
    i                     @   sr   d dl Z d dlZd dlmZ zd dlZW n	 ey   Y nw G dd de jZdd Zdd Z	d	d
 Z
dd ZdS )    N)filesc                   @   s   e Zd Zdd ZdS )_MissingCompletionActionc                 C   s   t dtjd |d d S )Nz3Install keyring[completion] for completion support.)file   )printsysstderrexit)selfparser	namespacevaluesoption_string r   X/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/keyring/completion.py__call__   s   z!_MissingCompletionAction.__call__N)__name__
__module____qualname__r   r   r   r   r   r      s    r   c                 C   s   | j dg dtdd | S )z"Add completion argument to parser.z--print-completion)bashzshtcshzprint shell completion script)choicesactionhelp)add_argumentr   r   r   r   r   add_completion_notice   s   r   c                    s    fdd| j D \}|S )Nc                 3   s    | ]
} |j v r|V  qd S N)option_strings).0r   optionr   r   	<genexpr>   s    zget_action.<locals>.<genexpr>)_actions)r   r"   matchr   r!   r   
get_action   s   r&   c                 C   sd   t ttdjddttdjddd}tj| |d tjt| d_	t d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(   r   r   r   install_completion!   s"   r3   c                 C   s,   zt |  W d S  ty   t|  Y d S w r   )r3   	NameErrorr   r   r   r   r   install3   s
   r5   )argparser   importlib.resourcesr   r/   ImportErrorActionr   r   r&   r3   r5   r   r   r   r   <module>   s    