
    Ki
                         d dl Z d dlZd dlZd dlZddlmZ ddlmZ ddlm	Z	m
Z
mZmZ 	 ddlmZ d Z G d	 d
e      Zy# e$ r Y w xY w)    N   )KeyringBackend)
properties)KeyringErrorKeyringLockedPasswordDeleteErrorPasswordSetError   )apic                 B     t        j                          fd       }|S )Nc                 b    | j                   rt        j                  dd        | g|i |S )Nz'Specified keychain is ignored. See #623   
stacklevel)keychainwarningswarn)selfargskwargsfuncs      k/home/jay/workspace/scripts/.codegraph-venv/lib/python3.12/site-packages/keyring/backends/macOS/__init__.pywrapperzwarn_keychain.<locals>.wrapper   s/    ==MMCPQRD*4*6**    )	functoolswraps)r   r   s   ` r   warn_keychainr      s%    __T+ +
 Nr   c                       e Zd ZdZej
                  j                  d      Z	 ej                  d        Z
ed        Zed        Zed        Zd Zy)	KeyringzmacOS KeychainKEYCHAIN_PATHc                 v    t        j                         dk7  rt        d      dt               vrt        d      y)z7
        Preferred for all macOS environments.
        DarwinzmacOS requiredr   zSecurity API unavailable   )platformsystemRuntimeErrorglobals)clss    r   priorityzKeyring.priority    s8    
 ??(/00	!9::r   c                     |d}	 t        j                  | j                  |||       y # t         j                  $ r}t	        d|       |d }~wt         j
                  $ r}t        d|       |d }~ww xY w)N z"Can't store password on keychain: )r   set_generic_passwordr   KeychainDeniedr   Errorr	   )r   serviceusernamepasswordes        r   set_passwordzKeyring.set_password+   s|    H	T$$T]]GXxP!! 	Q"DQC HIqPyy 	T"%Gs#KLRSS	Ts    ") A5AA5!A00A5c                    |d}	 t        j                  | j                  ||      S # t         j                  $ r Y y t         j                  $ r}t        d|       |d }~wt         j                  $ r}t        d|       |d }~ww xY w)Nr+   z"Can't get password from keychain: )r   find_generic_passwordr   NotFoundr-   r   r.   r   r   r/   r0   r2   s       r   get_passwordzKeyring.get_password7   s    H	P,,T]]GXNN|| 	!! 	Q"DQC HIqPyy 	P!CA3GHaO	Ps&    ' BBAB3BBc                     |d}	 t        j                  | j                  ||      S # t         j                  $ r}t	        d|       |d }~ww xY w)Nr+   z#Can't delete password in keychain: )r   delete_generic_passwordr   r.   r   r7   s       r   delete_passwordzKeyring.delete_passwordE   sX    H	X..t}}gxPPyy 	X%(KA3&OPVWW	Xs    ' AA		Ac                 ^    t        j                  dt        d       | j                  |      S )NzGmacOS.Keyring.with_keychain is deprecated. Use with_properties instead.r   r   )r   )r   r   DeprecationWarningwith_properties)r   r   s     r   with_keychainzKeyring.with_keychainO   s-    U	

 ##X#66r   N)__name__
__module____qualname____doc__osenvirongetr   r   classpropertyr)   r   r3   r8   r;   r?    r   r   r   r      sy    zz~~o.H/  	T 	T P P X X7r   r   )r   rD   r$   r   backendr   compatr   errorsr   r   r   r	   r+   r   	Exceptionr   r   rH   r   r   <module>rM      sJ     	   %   X X	
;7n ;7  		s   ? AA