
    Djm              	      j   d Z ddlmZ ddlmZ ddlZddlmZmZ ddl	m
Z
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e                    d           ej        ddd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dS )+zContacts commands.    )annotations)isliceN)	get_stateservice_call)normalize_contactnormalize_me)
DEFAULT_LOG_LEVELDEFAULT_OUTPUT_FORMATHttpProxyOptionHttpsProxyOptionLogLevelOptionNoVerifySslOptionOutputFormatOptionSessionDirOptionUsernameOptionstore_command_options)console_tablezInspect iCloud contacts.)helplist2   z--limit   zMaximum contacts to show.)minr   Fctxtyper.Contextlimitintusernamer   session_dirr   
http_proxyr   https_proxyr   no_verify_sslr   output_formatr   	log_levelr   returnNonec	           
     |   t          | |||||||           t          |           }	|	                                d t          t	          dfd          pg |          D             }
|	j        r|	                    |
           dS |	j                            t          dg dd |
D                                  dS )zList contacts.r   r   r   r    r!   r"   r#   c                ,    g | ]}t          |          S  )r   .0contacts     Y/home/thesage/.hermes/venv/lib/python3.11/site-packages/pyicloud/cli/commands/contacts.py
<listcomp>z!contacts_list.<locals>.<listcomp>6   s0        	'""      Contactsc                      j         j        S N)contactsallapis   r-   <lambda>zcontacts_list.<locals>.<lambda>9   s    S\-= r/   N)FirstLastPhonesEmailsc           	         g | ]F}|d          |d         d                     |d                   d                     |d                   fGS )
first_name	last_namez, phonesemails)joinr*   s     r-   r.   z!contacts_list.<locals>.<listcomp>D   sd         L)K(IIgh/00IIgh/00	  r/   )
r   r   get_apir   r   json_output
write_jsonconsoleprintr   )r   r   r   r   r   r    r!   r"   r#   statepayloadr6   s              @r-   contacts_listrI      s    ##	 	 	 	 cNNE
--//C %=%=%=%=>>D"
 
  G  !!!	M111   '  	
 	
    r/   mec           
     p   t          | |||||||           t          |           }|                                t          dfd          }	|	.|j                            d           t          j        d          t          |	          }
|j	        r|
                    |
           dS |j                            |
d          d|
d	                     |
d
         rU|
d
         }t          |t                    r|                    d          n|}|r!|j                            d|            dS dS dS )z Show the signed-in contact card.r'   r0   c                      j         j        S r2   )r3   rJ   r5   s   r-   r7   zcontacts_me.<locals>.<lambda>j   s    s| r/   NzNo contact card found.r   r=    r>   photourlzPhoto URL: )r   r   rB   r   rE   rF   typerExitr   rC   rD   
isinstancedictget)r   r   r   r   r    r!   r"   r#   rG   me_datarH   rN   rO   r6   s                @r-   contacts_merV   Q   sm    ##	 	 	 	 cNNE
--//C:'>'>'>'>??G4555jmm7##G !!!	M7<0II7;3GIIJJJw 5 ",UD"9"9Deiiu 	5M 3c 3 344444	5 5	5 	5r/   )r   r   r   r   r   r   r   r   r   r   r    r   r!   r   r"   r   r#   r   r$   r%   )r   r   r   r   r   r   r   r   r    r   r!   r   r"   r   r#   r   r$   r%   )__doc__
__future__r   	itertoolsr   rP   pyicloud.cli.contextr   r   pyicloud.cli.normalizer   r   pyicloud.cli.optionsr	   r
   r   r   r   r   r   r   r   r   pyicloud.cli.outputr   TyperappcommandOptionrI   rV   r)   r/   r-   <module>rb      s     " " " " " "        8 8 8 8 8 8 8 8 B B B B B B B B                        . - - - - -ek1222 V b)9TUUU#$("&$(',(= 11 1 1 1 1h T  $$("&$(',(= 1%5 %5 %5 %5 %5 %5 %5r/   