o
    i                     @   s@   d dl Z d dlZd dlmZ d dlmZmZ G dd deZdS )    N)api)report_errorsreport_warningsc                   @   sH   e Zd Zedd Zedd Zedd Zedd Zed	d
 ZdS )CommentClientc                 C   s  |j ddd}|jddd}d|_|j dd	d}|jd
dd |jdddd |j| jd |j ddd}|jddd |jd
dd |jdddd |j| jd |j ddd}|jddd |jd
dd |jdddd |j| jd |j ddd}|jddd |j| jd d S )Ncommentz"Post, update, and delete comments.)helpVerbsverb)titledestTpostzPost comments.handlezhandle to post as.z4comment message to post. if unset, reads from stdin.?)r   nargs)funcupdatezUpdate existing comments.
comment_idzcomment to update (by id)replyzReply to existing comments.zcomment to reply to (by id)showzShow comment details.zcomment to show)	
add_parseradd_subparsersrequiredadd_argumentset_defaults_post_update_reply_show)cls
subparsersparserverb_parserspost_parserupdate_parserreply_parsershow_parser r&   L/home/ubuntu/.local/lib/python3.10/site-packages/datadog/dogshell/comment.pysetup_parser   s(   zCommentClient.setup_parserc                 C   sl  |j t_|j}|j}|j}|d u rtj }tj	j
||d}t| t| |dkrq|d d }|d}ddd |D }tdt|d d	   td
|d d   td|d d   td|d d   td|  d S |dkr~tt| d S tdt|d d	   td
|d d   td|d d   td|d d   td|d d    d S )Nr   messageprettyr   r*   
c                 S      g | ]}d | qS z    r&   .0liner&   r&   r'   
<listcomp>8       z'CommentClient._post.<locals>.<listcomp>id		idurl		url	resource	resourcehandle		r   message
raw	message		)timeoutr   _timeoutr   r   formatsysstdinreadCommentcreater   r   splitjoinprintstrjsondumps__repr__)r   argsr   r   r@   resr*   linesr&   r&   r'   r   *   s2   

zCommentClient._postc           	      C   sl  |j }|j}|j}|j}|d u rtj }tjj	|||d}t
| t| |dkrq|d d }|d}ddd |D }tdt|d d	   td
|d d   td|d d   td|d d   td|  d S |dkr~tt| d S tdt|d d	   td
|d d   td|d d   td|d d   td|d d    d S )Nr)   r+   r   r*   r,   c                 S   r-   r.   r&   r/   r&   r&   r'   r2   U   r3   z)CommentClient._update.<locals>.<listcomp>r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r=   )r   r   r   r@   rA   rB   rC   r   rD   r   r   r   rF   rG   rH   rI   rJ   rK   rL   	r   rM   r   r   r5   r@   rN   r*   rO   r&   r&   r'   r   G   s2   

zCommentClient._updatec           	      C   st  |j t_|j}|j}|j}|j}|d u rtj	 }tj
j|||d}t| t| |dkru|d d }|d}ddd |D }tdt|d d	   td
|d d   td|d d   td|d d   td|  d S |dkrtt| d S tdt|d d	   td
|d d   td|d d   td|d d   td|d d    d S )N)r   r*   related_event_idr+   r   r*   r,   c                 S   r-   r.   r&   r/   r&   r&   r'   r2   s   r3   z(CommentClient._reply.<locals>.<listcomp>r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r=   )r>   r   r?   r   r   r   r@   rA   rB   rC   rD   rE   r   r   rF   rG   rH   rI   rJ   rK   rL   rP   r&   r&   r'   r   d   s4   

zCommentClient._replyc                 C   s(  |j t_|j}|j}tj|}t| t| |dkrY|d d }|	d}d
dd |D }tdt|d d   td	|d d
   td|d d   td|  d S |dkrftt| d S tdt|d d   td	|d d
   td|d d   td|d d    d S )Nr+   eventtextr,   c                 S   r-   r.   r&   r/   r&   r&   r'   r2      r3   z'CommentClient._show.<locals>.<listcomp>r4   r5   r6   r7   r8   r9   r;   r<   r=   )r>   r   r?   r   r@   Eventgetr   r   rF   rG   rH   rI   rJ   rK   rL   )r   rM   r5   r@   rN   r*   rO   r&   r&   r'   r      s(   
zCommentClient._showN)	__name__
__module____qualname__classmethodr(   r   r   r   r   r&   r&   r&   r'   r      s    



r   )	rJ   rA   datadogr   datadog.dogshell.commonr   r   objectr   r&   r&   r&   r'   <module>   s
   