§
    öyIfU  ã                  ó‚   — d Z ddlmZ ddlmZmZ ddlmZmZm	Z	 ddl
mZ ddlmZmZmZ erddlmZ dd„Zdd„Zg d¢ZdS )aO  Utilities methods and classes for checkers.

Base id of standard checkers (used in msg and report ids):
01: base
02: classes
03: format
04: import
05: misc
06: variables
07: exceptions
08: similar
09: design_analysis
10: newstyle
11: typecheck
12: logging
13: string_format
14: string_constant
15: stdlib
16: python3 (This one was deleted but needs to be reserved for consistency with old messages)
17: refactoring
.
.
.
24: non-ascii-names
25: unicode
26: unsupported_version
27: private-import
28-50: not yet used: reserved for future internal checkers.
This file is not updated. Use
   script/get_unused_message_id_category.py
to get the next free checker id.

51-99: perhaps used: reserved for external checkers

The raw_metrics checker has no number associated since it doesn't emit any
messages nor reports. XXX not true, emit a 07 report !
é    )Úannotations)ÚTYPE_CHECKINGÚLiteral)ÚBaseCheckerÚBaseRawFileCheckerÚBaseTokenChecker)ÚDeprecatedMixin)ÚLinterStatsÚdiff_stringÚregister_plugins)ÚPyLinterÚstatsr
   Ú	old_statsúLinterStats | NoneÚ	stat_typeú,Literal['duplicated_lines', 'message_types']Úreturnú	list[str]c                óê  — g }|dk    rDd| j         d         fd| j         d         fg}|rd|j         d         fd|j         d         fg}nVddg}nQ|dk    rKd| j        fd| j        fd	| j        fd
| j        fg}|r#d|j        fd|j        fd	|j        fd
|j        fg}ng d¢}t          |¦  «        D ]Å\  }}|d         }||         d         }	t          |	t          ¦  «        rt          |	|¦  «        n|	}
t          |t          ¦  «        r|d›nt          |¦  «        }t          |	t          ¦  «        r|	d›nt          |	¦  «        }| 
                    |d                              dd¦  «        |||
f¦  «         ŒÆ|S )z´Get values listed in <columns> from <stats> and <old_stats>,
    and return a formatted list of values.

    The return value is designed to be given to a ureport.Table object
    Úduplicated_linesÚnb_duplicated_linesÚpercent_duplicated_lines)r   ÚNC)r   r   Úmessage_typesÚ
conventionÚrefactorÚwarningÚerror))r   r   )r   r   )r   r   )r   r   é   z.3fr   Ú_ú )r   r   r   r   r   Ú	enumerateÚ
isinstanceÚfloatr   ÚstrÚextendÚreplace)r   r   r   ÚlinesÚnewÚoldÚindexÚvalueÚ	new_valueÚ	old_valueÚdiff_strÚnew_strÚold_strs                úL/var/www/piapp/venv/lib/python3.11/site-packages/pylint/checkers/__init__.pyÚtable_lines_from_statsr3   ;   sû  € ð €EØÐ&Ò&Ð&à" EÔ$:Ð;PÔ$QÐRà*ØÔ&Ð'AÔBðð.
ˆð ð 	Vð *ØÔ.Ð/DÔEðð
 /ØÔ.Ð/IÔJðð	8ˆCˆCð 1Ð2TÐUˆCˆCØ	�oÒ	%Ð	%à˜5Ô+Ð,Ø˜œÐ(Ø˜œÐ&Ø�e”kÐ"ð	
ˆð ð 	à˜yÔ3Ð4Ø˜YÔ/Ð0Ø˜IÔ-Ð.Ø˜)œ/Ð*ð	ˆCˆCðð ð ˆCõ " #™œð 
Oð 
O‰ˆˆuØ˜!”Hˆ	Ø˜”J˜q”Mˆ	õ ˜)¥UÑ+Ô+ð�K˜	 9Ñ-Ô-Ð-àð 	õ
 )3°9½eÑ(DÔ(DÐX�YÐ$Ð$Ð$Í#ÈiÉ.Ì.ˆÝ(2°9½eÑ(DÔ(DÐX�YÐ$Ð$Ð$Í#ÈiÉ.Ì.ˆØ�Š�e˜A”h×&Ò& s¨CÑ0Ô0°'¸7ÀHÐMÑNÔNÐNÐNØ€Ló    Úlinterr   ÚNonec                ó<   — t          | t          d         ¦  «         dS )z0Initialize linter with checkers in this package.r   N)r   Ú__path__)r5   s    r2   Ú
initializer9      s   € å�V�X aœ[Ñ)Ô)Ð)Ð)Ð)r4   )r   r   r   r9   r	   r   N)r   r
   r   r   r   r   r   r   )r5   r   r   r6   )Ú__doc__Ú
__future__r   Útypingr   r   Úpylint.checkers.base_checkerr   r   r   Úpylint.checkers.deprecatedr	   Úpylint.utilsr
   r   r   Úpylint.lintr   r3   r9   Ú__all__© r4   r2   ú<module>rC      sü   ðð
$ð $ðL #Ð "Ð "Ð "Ð "Ð "à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )ðð ð ð ð ð ð ð ð ð ð
 7Ð 6Ð 6Ð 6Ð 6Ð 6Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ Càð %Ø$Ð$Ð$Ð$Ð$Ð$ðAð Að Að AðH*ð *ð *ð *ð
ð ð €€€r4   