a
    j	                     @   sJ   d dl Z d dlZd dlmZ d dlZd dlZd
ddZdd Zdd	 ZdS )    N)OrderedDictFc                 C   s   |r
dg}t j| }t j| |d}|  |j| || d}|du rft	j
d t	d |t jj||d dS )z2
    Connect to XMPP server and send message.
    always)serverdebug)userpasswordresourceNzERROR: Authentication failed
   )tobody)xmppprotocolZJIDZClientZ	getDomainconnectauthZgetNodeZgetResourcesysstderrwriteexitsendMessage)jabberidr   receivermessager   jid
connectionretval r   N/Users/admin/.hermes/hermes-agent/venv/lib/python3.9/site-packages/xmpp/cli.pysend_message   s    
r   c                  C   s   t  } tjtjd d}t|dT}| D ]:}| }|s@q.|d dvr.|dd\}}|| |	 < q.W d   n1 s~0    Y  | S )	z0
    Read credentials from `~/.xsend` file.
    HOMEz.xsendrr   )#;=r	   N)
r   ospathjoinenvironopen	readlinesstripsplitlower)paramsZ	xsendfileflnkeyvalr   r   r   
read_xsend"   s    ,r2   c               
   C   s   t jdd} | jdddd | jdddd | jd	d
dd | jdd
dd | jddddd |  }|jdu rz
t }W n> ty } z&tj	d|  t
d W Y d}~n
d}~0 0 |d |_|d |_t|j|j|j|j|jd dS )z5
    Send an XMPP message from the command line.
    z5Authenticate with XMPP server and send simple message)descriptionz
--jabberidFz%Jabber Identifier (JID) aka. username)requiredhelpz
--passwordz$Password for Jabber Identifier (JID)z
--receiverTzReceiver addressz	--messagezMessage contentz--debug
store_truezEnable debug messages)actiondefaultr5   Nz9ERROR: Unable to read credentials from ~/.xsend file: %s
r	   r   r   )r   )argparseArgumentParseradd_argument
parse_argsr   r2   	Exceptionr   r   r   r   r   r   r   r   r   )parseroptionsr-   exr   r   r   simple_message3   s     

 

rA   )F)	r$   r   collectionsr   r   r9   r   r2   rA   r   r   r   r   <module>   s   

