
    e                        d dl mZ d dlZd dlmZ d dlmZmZ d dlmZm	Z	 d dl
mZ 	 	 	 	 	 	 	 	 d
dZ	 	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 	 	 dd	Zy)    )annotationsN)defaultdict)checkers
exceptions)SectionTable)LinterStatsc                z    g d}|t        j                  ||d      z  }| j                  t        |dd             y)z$Make total errors / warnings report.)typenumberprevious
differencemessage_types      childrencolsrheadersN)r   table_lines_from_statsappendr   )sectstatsprevious_statsliness       >/usr/lib/python3/dist-packages/pylint/lint/report_functions.pyreport_total_messages_statsr      s7     9E	X,,UNOTTEKKu1q9:    c                    |j                   }t        d |j                         D              }|j                          ddg}|D ]  \  }}||t	        |      gz  } | j                  t        |dd             y)zMake messages type report.c              3  L   K   | ]  \  }}|j                  d       s||f  yw)IN)
startswith).0msg_idvalues      r   	<genexpr>z(report_messages_stats.<locals>.<genexpr>!   s.      FE  % 
s   "$z
message idoccurrences   r   r   N)by_msgsorteditemsreversestrr   r   )r   r   _by_msg_statsin_orderr   r%   r$   s           r   report_messages_statsr1      s     <<L )//1 H
 =)E! &v&#e*%%&KKu1q9:r   c                *   |j                   }t        |      dk(  rt        j                         t	        j
                  t              }dD ]Z  }|j                  |      }|j                         D ]4  }|j                  ||      }|dk(  rdnt        |dz        |z  }	|	||   |<   6 \ g }
|j                         D ]'  \  }}|
j                  |d   |d   |d   |d   |f       ) |
j                          |
j                          g d	}|
D ]I  }t        d
 |dd D              r|j                  |d          |dd D ]  }|j                  |d        K t        |      dk(  rt        j                         | j                  t!        |dd             y)z)Make errors / warnings by modules report.r   )fatalerrorwarningrefactor
conventionr   d   r4   r5   r6   r7   )moduler4   r5   r6   r7   c              3  &   K   | ]	  }|d k(    yw)r   N )r#   entrys     r   r&   z2report_messages_by_module_stats.<locals>.<genexpr>N   s     1euz1s   Nz.2f   r   )	by_modulelenr   EmptyReportErrorcollectionsr   dictget_global_message_countkeysget_module_message_countfloatr+   r   sortr,   allr   )r   r   r.   module_statsby_modm_typetotalr9   	mod_totalpercentsorted_resultmod_infor   linevals                  r   report_messages_by_module_statsrT   -   s    ??L
<A))++7B7N7Nt7TFI -..v6"'') 	-F66vvFI A:a5S+AE+IG%,F6N6"	-- M"LLN 	
!#$&	
	
 DE '1tCRy11T"X9 	'CLLC9&	'' 5zQ))++KKu1q9:r   )r   r   r   r	   r   LinterStats | NonereturnNone)r   r   r   r	   r.   rU   rV   rW   )
__future__r   rB   r   pylintr   r   pylint.reporters.ureports.nodesr   r   pylint.utilsr	   r   r1   rT   r;   r   r   <module>r\      s   
 #  # ' : $;
;; '; 
	;;
;; ; 
	;&(;
(;(; (; 
	(;r   