
    }#j$                        d Z ddlmZ ddlZddlZddlZdZddgZddgZddZ	ddZ
ddZddZddZddZedk    r e e                      dS )zEStore Kakao memo credentials in macOS Keychain for Codex automations.    )annotationsNzcodex-us-equity-kakaoKAKAO_REST_API_KEYKAKAO_REFRESH_TOKENKAKAO_CLIENT_SECRETKAKAO_LINK_URLargs	list[str]return subprocess.CompletedProcess[str]c                8    t          j        dg| ddd          S )NsecurityTF)capture_outputtextcheck)
subprocessrun)r   s    outputs/kakao_keychain_setup.pyrun_securityr      s$    >:--dUZ[[[[    accountstrvalueNonec           
         t          ddt          d| g           t          dddt          d| d|g          }|j        dk    r+t          |j                                        pd|            d S )	Nzdelete-generic-password-s-azadd-generic-passwordz-U-wr   zFailed to store )r   SERVICE
returncode
SystemExitstderrstrip)r   r   results      r   
set_secretr$      s    +T7D'JKKK"		
 F A,,..N2NW2N2NOOO r   boolc                    t          ddt          d| dg          }|j        dk    o%t          |j                                                  S )Nzfind-generic-passwordr   r   r   r   )r   r   r   r%   stdoutr"   )r   r#   s     r   
has_secretr(   &   sG    2D'4RVWXXF!Ad6=+>+>+@+@&A&AAr   c                 \   t           D ]O} t          j        |  d                                          }|st          |  d          t	          | |           Pt
          D ]=} t          j        |  d                                          }|rt	          | |           >t          d           d S )N: z is required.z (optional, Enter to skip): z+Kakao credentials stored in macOS Keychain.)REQUIREDgetpassr"   r    r$   OPTIONALprint)namer   s     r   command_setr0   +   s        4,,2244 	53334444 $ $4 E E EFFLLNN 	$tU###	
788888r   c                 z    g t           t          dD ]'} t          |  dt          |           rdnd            (d S )NKAKAO_ACCESS_TOKENr*   setmissing)r+   r-   r.   r(   )r/   s    r   command_statusr5   :   s_    <(<X<';< E ECC*T"2"2A	CCDDDDE Er   intc                     t          j                    } |                     dddg           |                                 }|j        dk    rt                       n|j        dk    rt                       dS )Ncommandr3   status)choicesr   )argparseArgumentParseradd_argument
parse_argsr8   r0   r5   )parserr   s     r   mainr@   ?   su    $&&F
	E8+<===D|u		!	!1r   __main__)r   r	   r
   r   )r   r   r   r   r
   r   )r   r   r
   r%   )r
   r   )r
   r6   )__doc__
__future__r   r;   r,   r   r   r+   r-   r   r$   r(   r0   r5   r@   __name__r     r   r   <module>rF      s   K K " " " " " "       " "78!#34\ \ \ \P P P P$B B B B
9 9 9 9E E E E
    z
*TTVV

 r   