a
    7ñ»jø  ã                   @   s2   d dl Z d dlmZ d dlmZ G dd„ dƒZdS )é    N)Údefaultdict)Ú_handle_ansic                   @   sú   e Zd Zdd„ Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZed	d
„ ƒZedd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZdd„ Zdd„ Zd d!„ Zd"S )#Ú
ReportDatac              	   C   sØ   || _ g g g dœ| _d| _d| _d| _dddœdddœdddœdddœd	ddœd
ddœdddœdœ| _g d¢| _i ttƒdœ| _	| 
d¡}| ¡ dkr¦t dt¡ d}dd„ | d¡D ƒ| j	d< | 
d¡}|| j	d< d S )N)ÚprefixÚsummaryZpostfixr   Znot_startedZFailed)ÚlabelÚvalueZPassedZSkippedzExpected failureszUnexpected passesZErrorsZReruns)ÚfailedÚpassedZskippedZxfailedZxpassedÚerrorZrerun)z:<th class="sortable" data-column-type="result">Result</th>z8<th class="sortable" data-column-type="testId">Test</th>z><th class="sortable" data-column-type="duration">Duration</th>z<th>Links</th>)ÚenvironmentÚtestsZrender_collapsedÚtruez‹'render_collapsed = True' is deprecated and support will be removed in the next major release. Please use 'render_collapsed = all' instead.Úallc                 S   s   g | ]}|  ¡ ‘qS © )Úlower)Ú.0Úoutcomer   r   ú=E:\soccer\ml_env\Lib\site-packages\pytest_html/report_data.pyÚ
<listcomp>8   s   z'ReportData.__init__.<locals>.<listcomp>ú,ZrenderCollapsedÚinitial_sortZinitialSort)Ú_configÚ_additional_summaryÚ_collected_itemsÚ_total_durationÚ_running_stateÚ	_outcomesÚ_results_table_headerr   ÚlistÚ_dataZgetinir   ÚwarningsÚwarnÚDeprecationWarningÚsplit)ÚselfÚconfigÚ	collapsedr   r   r   r   Ú__init__   s@    ýù

þ
üÿ
zReportData.__init__c                 C   s   | j S ©N©r   ©r%   r   r   r   Úadditional_summary?   s    zReportData.additional_summaryc                 C   s
   || _ d S r)   r*   )r%   r   r   r   r   r,   C   s    c                 C   s   | j S r)   ©r   r+   r   r   r   Úcollected_itemsG   s    zReportData.collected_itemsc                 C   s
   || _ d S r)   r-   )r%   Úcountr   r   r   r.   K   s    c                 C   s   | j S r)   )r   r+   r   r   r   r&   O   s    zReportData.configc                 C   s   | j S r)   ©r    r+   r   r   r   ÚdataS   s    zReportData.datac                 C   s   | j S r)   )r   r+   r   r   r   ÚoutcomesW   s    zReportData.outcomesc                 C   s   | j | ¡  d  d7  < d S )Nr   é   )r   r   )r%   r   r   r   r   r2   [   s    c                 C   s   | j S r)   ©r   r+   r   r   r   Úrunning_state_   s    zReportData.running_statec                 C   s
   || _ d S r)   r4   )r%   Ústater   r   r   r5   c   s    c                 C   s   | j S r)   ©r   r+   r   r   r   Útable_headerg   s    zReportData.table_headerc                 C   s
   || _ d S r)   r7   )r%   Úheaderr   r   r   r8   k   s    c                 C   s
   | j d S ©NÚtitler0   r+   r   r   r   r;   o   s    zReportData.titlec                 C   s   || j d< d S r:   r0   )r%   r;   r   r   r   r;   s   s    c                 C   s   | j S r)   ©r   r+   r   r   r   Útotal_durationw   s    zReportData.total_durationc                 C   s
   || _ d S r)   r<   )r%   Údurationr   r   r   r=   {   s    c                 C   s   || j |< d S r)   r0   )r%   Úkeyr   r   r   r   Úset_data   s    zReportData.set_datac                 C   sb   |j dkr|  |¡ |j dks2|j dv r^|jdkr^td |¡ƒ|d< | jd |j  |¡ dS d	S )
NÚteardownÚcall)ÚsetuprA   r
   Ú
Úlogr   TF)ÚwhenÚappend_teardown_logr   r   Újoinr    ÚnodeidÚappend)r%   Z	test_dataÚreportÚlogsr   r   r   Úadd_test‚   s    


ÿÿzReportData.add_testc                 C   s€   g }| j d |j r|| j d |j d }|jD ]2}|\}}d|v r.| d| d d›d|› �¡ q.|d  td |¡ƒ7  < d S )Nr   éÿÿÿÿrA   ú z-^80rD   rE   )r    rI   ÚsectionsrJ   r   rH   )r%   rK   rE   ÚtestÚsectionr9   Úcontentr   r   r   rG   ‘   s    
 zReportData.append_teardown_logN)Ú__name__Ú
__module__Ú__qualname__r(   Úpropertyr,   Úsetterr.   r&   r1   r2   r5   r8   r;   r=   r@   rM   rG   r   r   r   r   r   
   sH   4















r   )r!   Úcollectionsr   Zpytest_html.utilr   r   r   r   r   r   Ú<module>   s   