
    Dj%                       d Z ddlmZ ddlZddlmZmZmZ ddlm	Z	 ddl
mZmZmZmZmZmZmZmZmZmZ ddlmZ  ej        d	          Zd
Zd<dZd=dZe                    d          dddddeefd>d'            Ze                    d(          dddddeefd>d)            Ze                    d*           ej        d+           ej        d+           ej         d,d-d.	          dddddeef
d?d2            Z!e                    d3           ej        d+           ej        d+           ej         dd-d.	          dddddeef
d@d5            Z"e                    d6           ej        d+          dddddeefdAd7            Z#e                    d8           ej        d+          dddddeefdAd9            Z$e                    d:           ej        d+          dddddeefdAd;            Z%dS )BzHide My Email commands.    )annotationsN)CLIAbort	get_stateservice_callnormalize_alias)
DEFAULT_LOG_LEVELDEFAULT_OUTPUT_FORMATHttpProxyOptionHttpsProxyOptionLogLevelOptionNoVerifySslOptionOutputFormatOptionSessionDirOptionUsernameOptionstore_command_options)console_tablezManage Hide My Email aliases.)helpzHide My Emailalias
str | Nonereturnstrc                b    t          | t                    r| r| S t          t           d          )z7Return a generated alias or abort on an empty response.z" generate returned an empty alias.)
isinstancer   r   HIDE_MY_EMAIL)r   s    \/home/thesage/.hermes/venv/lib/python3.11/site-packages/pyicloud/cli/commands/hidemyemail.py_require_generated_aliasr      s9     % % 
mGGG
H
HH    payloaddict	operationc                    |                      d          }t          |t                    r|r|S t          t           d| d|           )z7Return the alias id from a successful mutator response.anonymousId z returned an invalid response: )getr   r   r   r   )r   r!   anonymous_ids      r   _require_mutation_resultr'   $   s_     ;;}--L,$$  
PP9PPWPP  r   listFctxtyper.Contextusernamer   session_dirr   
http_proxyr   https_proxyr   no_verify_sslr   output_formatr   	log_levelr   Nonec           
     j  
 t          | |||||||           t          |           }|                                
t          t          
fd
j                  }	|j        r|                    |	           dS |j        	                    t          t          g dd |	D                                  dS )zList Hide My Email aliases.r+   r,   r-   r.   r/   r0   r1   c                 &    d  j         D             S )Nc                ,    g | ]}t          |          S  r   .0r   s     r   
<listcomp>z6hidemyemail_list.<locals>.<lambda>.<locals>.<listcomp>J   s     EEEE''EEEr   )hidemyemailapis   r   <lambda>z"hidemyemail_list.<locals>.<lambda>J   s    EES_EEE r   account_nameN)AliasLabelzAnonymous IDc                <    g | ]}|d          |d         |d         fS )emaillabelr&   r7   r8   s     r   r:   z$hidemyemail_list.<locals>.<listcomp>T   s<        ww~1FG  r   )r   r   get_apir   r   r@   json_output
write_jsonconsoleprintr   )r)   r+   r,   r-   r.   r/   r0   r1   stater   r=   s             @r   hidemyemail_listrL   /   s     ##	 	 	 	 cNNE
--//CEEEE%  G
  !!!	M... $  	
 	
	 	 	 	 	r   generatec           
     P   t          | |||||||           t          |           }|                                t          t          fdj                  }	t          |	          }	d|	i}
|j        r|                    |
           dS |j	        
                    |	           dS )zGenerate a new relay address.r4   c                 6     j                                         S N)r;   rM   r<   s   r   r>   z&hidemyemail_generate.<locals>.<lambda>w   s    ((** r   r?   rD   N)r   r   rF   r   r   r@   r   rG   rH   rI   rJ   )r)   r+   r,   r-   r.   r/   r0   r1   rK   r   r   r=   s              @r   hidemyemail_generaterQ   \   s     ##	 	 	 	 cNNE
--//C****%  E
 %U++EG !!!	Mr   reserve.	Generatedz--notezAlias note.rD   rE   notec           
     V   t          | ||||||	|
           t          |           }|                                t          t          fdj                  }t          |d          }|j        r|                    |           dS |j	        
                    |           dS )z0Reserve a generated relay address with metadata.r4   c                 >     j                                       S )N)rD   rE   rT   )r;   rR   )r=   rD   rE   rT   s   r   r>   z%hidemyemail_reserve.<locals>.<lambda>   s    ''e5t'LL r   r?   rR   Nr   r   rF   r   r   r@   r'   rG   rH   rI   rJ   )r)   rD   rE   rT   r+   r,   r-   r.   r/   r0   r1   rK   r   reserved_idr=   s    ```          @r   hidemyemail_reserverY      s      ##	 	 	 	 cNNE
--//CLLLLLLL%  G
 +7I>>K !!!	M$$$$$r   updater&   c           
     \   t          | ||||||	|
           t          |           }|                                t          t          fdj                  }t          |d          }|j        r|                    |           dS |j	        
                    d|            dS )zUpdate alias metadata.r4   c                 <    j                                        S rP   )r;   update_metadata)r&   r=   rE   rT   s   r   r>   z$hidemyemail_update.<locals>.<lambda>   s    //eTJJ r   r?   rZ   NzUpdated rW   )r)   r&   rE   rT   r+   r,   r-   r.   r/   r0   r1   rK   r   
updated_idr=   s    ```          @r   hidemyemail_updater_      s      ##	 	 	 	 cNNE
--//CJJJJJJJ%  G
 *'8<<J !!!	M/://00000r   
deactivatec	           
     T   t          | |||||||           t          |           }	|	                                t          t          fdj                  }
t          |
d          }|	j        r|	                    |
           dS |	j	        
                    d|            dS )zDeactivate an alias.r4   c                 8    j                                        S rP   )r;   r`   r&   r=   s   r   r>   z(hidemyemail_deactivate.<locals>.<lambda>       **<88 r   r?   r`   NzDeactivated rW   )r)   r&   r+   r,   r-   r.   r/   r0   r1   rK   r   deactivated_idr=   s    `          @r   hidemyemail_deactivaterf           ##	 	 	 	 cNNE
--//C88888%  G
 .g|DDN !!!	M7~7788888r   
reactivatec	           
     T   t          | |||||||           t          |           }	|	                                t          t          fdj                  }
t          |
d          }|	j        r|	                    |
           dS |	j	        
                    d|            dS )zReactivate an alias.r4   c                 8    j                                        S rP   )r;   rh   rc   s   r   r>   z(hidemyemail_reactivate.<locals>.<lambda>  rd   r   r?   rh   NzReactivated rW   )r)   r&   r+   r,   r-   r.   r/   r0   r1   rK   r   reactivated_idr=   s    `          @r   hidemyemail_reactivaterl      rg   r   deletec	           
     T   t          | |||||||           t          |           }	|	                                t          t          fdj                  }
t          |
d          }|	j        r|	                    |
           dS |	j	        
                    d|            dS )zDelete an alias.r4   c                 8    j                                        S rP   )r;   rm   rc   s   r   r>   z$hidemyemail_delete.<locals>.<lambda>:  s    &&|44 r   r?   rm   NzDeleted rW   )r)   r&   r+   r,   r-   r.   r/   r0   r1   rK   r   
deleted_idr=   s    `          @r   hidemyemail_deleterq     s     ##	 	 	 	 cNNE
--//C44444%  G
 *'8<<J !!!	M/://00000r   )r   r   r   r   )r   r    r!   r   r   r   )r)   r*   r+   r   r,   r   r-   r   r.   r   r/   r   r0   r   r1   r   r   r2   )r)   r*   rD   r   rE   r   rT   r   r+   r   r,   r   r-   r   r.   r   r/   r   r0   r   r1   r   r   r2   )r)   r*   r&   r   rE   r   rT   r   r+   r   r,   r   r-   r   r.   r   r/   r   r0   r   r1   r   r   r2   )r)   r*   r&   r   r+   r   r,   r   r-   r   r.   r   r/   r   r0   r   r1   r   r   r2   )&__doc__
__future__r   typerpyicloud.cli.contextr   r   r   pyicloud.cli.normalizer   pyicloud.cli.optionsr	   r
   r   r   r   r   r   r   r   r   pyicloud.cli.outputr   Typerappr   r   r'   commandrL   rQ   ArgumentOptionrY   r_   rf   rl   rq   r7   r   r   <module>r~      s     " " " " " "  B B B B B B B B B B 2 2 2 2 2 2                        . - - - - -ek6777I I I I    V  $$("&$(',(= 1) ) ) ) )X Z  $$("&$(',(= 1" " " " "J Y  $$$$[(GGG#$("&$(',(= 1$% $% $% $% $%N X 's++$$#u|D(GGG#$("&$(',(= 1$1 $1 $1 $1 $1N \ 's++#$("&$(',(= 1"9 "9 "9 "9 "9J \ 's++#$("&$(',(= 1"9 "9 "9 "9 "9J X 's++#$("&$(',(= 1"1 "1 "1 "1 "1 "1 "1r   