o
    	Ti                     @   sf   d dl Z d dlZd dlZd dlmZ d dlmZ dZe  Zej	ddd ej	dd	d
 dddZ
dS )    N)date)tabulateiT  z--slack_channel_nameztrl-push-examples-ci)defaultz--text_file_nameT)requiredc              
   C   s  t jt jd t t}d}tj| ri }z6t| (}|D ]}|	 
d\}}|
dd 
dd }t|||< qW d    n1 sFw   Y  W n! tym }	 z|d|  d	t|	  i }W Y d }	~	nd }	~	ww d
dt|dksxdndddd}
t| }nd
ddddd}
d}| dddddd }dddtjdd|ddg}|dkr|| d7 }| D ]\}}t||sdndggddgddd gd!}|d"| d# 7 }qtd$|  n||
 tjdddkrzdd%lm} W n ty   |d& Y d S w t|tkr-td't| d(t  |d t d) }t|dkr]d
d*|dd}|| d
d*d+dd,dd-ddd.tjd/  d0d1}|| d2dd3tjd d4t   dgd5}|| t| z+|tjd6d7}|j!d8| ||d9}|d: r|"d; n
|d<|d=   W n ty }	 z|d>t|	  W Y d }	~	nd }	~	ww td?krt#$ }t%|j&|j' d S d S )@N)level ,/z.yamlr   zError reading file z: section
plain_textu1   🌞 There were no failures on the example tests!zWSomething went wrong there is at least one empty file - please check GH action results.T)typetextemoji)r   r   u   ❌ Something is wrong with the workflow please check ASAP!Something went wrong there is no text file being produced. Please check ASAP.z.txttemp_results__ headeru,   🤗 Results of the {} TRL {} example tests.	TEST_TYPEz  failed tests for example tests!u   ✅u   ❌z	Test NameStatusalwaysgrid   )headers	showindextablefmtmaxcolwidthsz
```
z
```z### )	WebClientzGslack_sdk is not installed. Please install it to use Slack integration.zTruncating long message from z to z...mrkdwnz*For more details:*buttonzCheck Action resultsz0https://github.com/huggingface/trl/actions/runs/GITHUB_RUN_ID)r   r   url)r   r   	accessorycontextzOn Push - main z test results for )r   elementsSLACK_API_TOKEN)token#)channelr   blocksokz#Message sent successfully to Slack.z!Failed to send message to Slack: errorz Error sending message to Slack: __main__)(loggingbasicConfigINFO	getLogger__name__ospathisfileopenstripsplitint	Exceptionr+   strlensumvaluesreplacetitleformatenvirongetitemsr   printappend	slack_sdkr   ImportErrorMAX_LEN_MESSAGEr   todaychat_postMessageinfoparser
parse_argsmaintext_file_nameslack_channel_name)rO   rP   loggermessagefinal_resultsfilelineresultconfig_nameeno_error_payloadtotal_num_failedtest_type_namepayload	test_namefailedfailed_tabler   	md_reportaction_buttondate_reportclientresponseargs rf   O/home/ubuntu/.local/lib/python3.10/site-packages/scripts/log_example_reports.pyrN      s   


 




	
	
 
rN   )N)argparser-   r2   datetimer   r   rH   ArgumentParserrL   add_argumentrN   rf   rf   rf   rg   <module>   s   