o
    l>jm                  	   @  s   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	d
Zedejddddddddddeefd+d&d'Zed(dddddeefd,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	              
     s   t | |||||||d t| }	|	  dd ttd fddp"g |D }
|	jr1|	|
 dS |	jt	dg dd	d |
D  dS )
zList contacts.r   r   r   r   r    r!   r"   c                 S  s   g | ]}t |qS  )r   .0contactr&   r&   S/home/thesage/.local/lib/python3.10/site-packages/pyicloud/cli/commands/contacts.py
<listcomp>6   s    z!contacts_list.<locals>.<listcomp>Contactsc                         j jS N)contactsallr&   apir&   r*   <lambda>9       zcontacts_list.<locals>.<lambda>N)FirstLastPhonesEmailsc              	   S  s4   g | ]}|d  |d d |d d |d fqS )
first_name	last_namez, phonesemails)joinr'   r&   r&   r*   r+   D   s    )
r   r   get_apir   r   json_output
write_jsonconsoleprintr   )r   r   r   r   r   r   r    r!   r"   statepayloadr&   r1   r*   contacts_list   s<   

rE   mec              
     s   t | |||||||d t| }|  td fdd}	|	du r,|jd tdt|	}
|j	r:|
|
 dS |j|
d  d	|
d
   |
d rj|
d }t|tr[|dn|}|rl|jd|  dS dS dS )z Show the signed-in contact card.r%   r,   c                     r-   r.   )r/   rF   r&   r1   r&   r*   r3   j   r4   zcontacts_me.<locals>.<lambda>NzNo contact card found.r   r9    r:   photourlzPhoto URL: )r   r   r>   r   rA   rB   typerExitr   r?   r@   
isinstancedictget)r   r   r   r   r   r    r!   r"   rC   me_datarD   rH   rI   r&   r1   r*   contacts_meQ   s8   


rP   )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   rJ   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OptionrE   rP   r&   r&   r&   r*   <module>   s8    04