§
    ÷yIfn"  ã            
      óÞ  — d Z ddlmZ ddlZddlZddlZddlZddlmZm	Z	 ddl
mZmZmZmZ ddlmZ ddlmZ ddlmZ erdd	lmZ dd
lmZ  G d„ de¦  «        Zeeef         Zg d¢ZdZdZdZddddddddœZ ddddddddd d!œ	Z!d"„  e	e¦  «        D ¦   «         Z"	 d8d'„Z#d9d)„Z$ G d*„ d+e¦  «        Z% G d,„ d-e%¦  «        Z& G d.„ d/e%¦  «        Z' G d0„ d1e'¦  «        Z( G d2„ d3e%¦  «        Z)d:d7„Z*dS );zwPlain text reporters:.

:text: the default one grouping messages by module
:colorized: an ANSI colorized text reporter
é    )ÚannotationsN)ÚasdictÚfields)ÚTYPE_CHECKINGÚDictÚ
NamedTupleÚTextIO)ÚMessage)ÚBaseReporter)Ú
TextWriter)ÚPyLinter)ÚSectionc                  ó@   — e Zd ZU dZded<   	 dZded<   	 dd	„Zdd„ZdS )ÚMessageStylezStyling of a message.ú
str | NoneÚcolor© ztuple[str, ...]ÚstyleÚreturnÚstrc                ód  — d„ | j         D ¦   «         }| j        rp| j                             ¦   «         r2|                     ddg¦  «         |                     | j        ¦  «         n%|                     t
          | j                 ¦  «         |r%t          d                     |¦  «        z   t          z   S dS )z¸Return ANSI escape code corresponding to color and style.

        :raise KeyError: if a nonexistent color or style identifier is given

        :return: the built escape code
        c                ó(   — g | ]}t           |         ‘ŒS r   )ÚANSI_STYLES)Ú.0Úeffects     úI/var/www/piapp/venv/lib/python3.11/site-packages/pylint/reporters/text.pyú
<listcomp>z0MessageStyle.__get_ansi_code.<locals>.<listcomp>.   s   € ÐBÐBÐB¨V•[ Ô(ÐBÐBÐBó    Ú38Ú5ú;Ú )	r   r   ÚisdigitÚextendÚappendÚANSI_COLORSÚANSI_PREFIXÚjoinÚANSI_END)ÚselfÚ	ansi_codes     r   Ú__get_ansi_codezMessageStyle.__get_ansi_code'   s°   € ð CÐB°t´zÐBÑBÔBˆ	ØŒ:ð 	:ØŒz×!Ò!Ñ#Ô#ð :Ø× Ò  $¨ Ñ-Ô-Ð-Ø× Ò  ¤Ñ,Ô,Ð,Ð,à× Ò ¥¨T¬ZÔ!8Ñ9Ô9Ð9Øð 	@Ý §¢¨)Ñ!4Ô!4Ñ4µxÑ?Ð?Øˆrr   Úmsgc                óŽ   — | j         €t          | j        ¦  «        dk    r|S |                      ¦   «         }|r|› |› t          › �S |S )Nr   )r   Úlenr   Ú_MessageStyle__get_ansi_codeÚ
ANSI_RESET)r*   r-   Úescape_codes      r   Ú_colorize_ansizMessageStyle._colorize_ansi9   sU   € ØŒ:Ð¥# d¤j¡/¤/°QÒ"6Ð"6àˆJØ×*Ò*Ñ,Ô,ˆàð 	5Ø!Ð4 3Ð4­
Ð4Ð4Ð4Øˆ
r   N)r   r   )r-   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r0   r3   r   r   r   r   r      sk   € € € € € € ØÐàÐÐÑðð  €EÐÐÐÑØJðð ð ð ð$ð ð ð ð ð r   r   )r"   ú=ú-ú.z[Úmz[0mÚ0Ú1Ú3Ú4r    Ú7Ú9)ÚresetÚboldÚitalicÚ	underlineÚblinkÚinverseÚstrikeÚ30Ú31Ú32Ú33Ú34Ú35Ú36Ú37)	rC   ÚblackÚredÚgreenÚyellowÚblueÚmagentaÚcyanÚwhitec                ó   — h | ]	}|j         ’Œ
S r   )Úname)r   Úis     r   ú	<setcomp>r]   `   s   € Ð2Ð2Ð2˜Q�!”&Ð2Ð2Ð2r   r-   r   Ú	msg_styler   c                ó,   — |                      | ¦  «        S )z7Colorize message by wrapping it with ANSI escape codes.)r3   )r-   r^   s     r   Úcolorize_ansir`   d   s   € à×#Ò# CÑ(Ô(Ð(r   r
   c                ó   — d| j         › �S )Nz************* Module )Úmodule)r-   s    r   Úmake_headerrc   i   s   € Ø/ 3¤:Ð/Ð/Ð/r   c                  óR   ‡ — e Zd ZdZdZdZdZddˆ fd
„Zdd„Zdd„Z	dd„Z
dd„Zˆ xZS )ÚTextReporterz+Reports messages and layouts in plain text.ÚtextÚtxtz2{path}:{line}:{column}: {msg_id}: {msg} ({symbol})NÚoutputúTextIO | Noner   ÚNonec                ó    •— t          ¦   «                              |¦  «         t          ¦   «         | _        | j        | _        | j        | _        d S ©N)ÚsuperÚ__init__ÚsetÚ_modulesÚline_formatÚ	_templateÚ_fixed_template©r*   rh   Ú	__class__s     €r   rn   zTextReporter.__init__t   sA   ø€ Ý‰Œ×Ò˜Ñ Ô Ð Ý"%¡%¤%ˆŒØÔ)ˆŒØ#Ô/ˆÔØQÐQr   rb   r   Úfilepathr   c                ó\  — t          | j        j        j        p| j        ¦  «        }|| j        k    rdS || _        t          j        d|¦  «        }|D ]S}|d         t          vrBt          j	        d|d         › d�d¬¦  «         t          j
        d|d         z   d	z   d
|¦  «        }ŒT|| _        dS )zHSet the format template to be used and check for unrecognized arguments.Nz\{(\w+?)(:.*)?\}r   zDon't recognize the argument 'zW' in the --msg-template. Are you sure it is supported on the current version of pylint?é   ©Ú
stacklevelz\{z	(:.*?)?\}r"   )r   ÚlinterÚconfigÚmsg_templaterr   ÚreÚfindallÚMESSAGE_FIELDSÚwarningsÚwarnÚsubrs   )r*   rb   rv   ÚtemplateÚ	argumentsÚarguments         r   Úon_set_current_modulez"TextReporter.on_set_current_module{   sÛ   € å�t”{Ô)Ô6ÐH¸$¼.ÑIÔIˆð �t”~Ò%Ð%ØˆFð "ˆŒõ ”JÐ2°HÑ=Ô=ˆ	Ø!ð 	Tð 	TˆHØ˜Œ{¥.Ð0Ð0Ý”ðU°X¸a´[ð Uð Uð Uà ðñ ô ð õ
 œ6 %¨(°1¬+Ñ"5¸Ñ"DÀbÈ(ÑSÔS�øØ'ˆÔÐÐr   r-   r
   c                ó’   — t          |¦  «        }dD ]}||         pd||<   Œ|                       | j        j        di |¤Ž¦  «         dS )z]Convenience method to write a formatted message with class default
        template.
        )Úend_lineÚ
end_columnr"   Nr   )r   Úwritelnrs   Úformat)r*   r-   Ú	self_dictÚkeys       r   Úwrite_messagezTextReporter.write_message’   sa   € õ ˜3‘K”Kˆ	Ø-ð 	2ð 	2ˆCØ& sœ^Ð1¨rˆI�c‰NˆNà�ŠÐ0�TÔ)Ô0Ð=Ð=°9Ð=Ð=Ñ>Ô>Ð>Ð>Ð>r   c                óÎ   — |j         | j        vrA|                      t          |¦  «        ¦  «         | j                             |j         ¦  «         |                      |¦  «         dS )z<Manage message of different type and in the context of path.N)rb   rp   r‹   rc   Úaddr�   ©r*   r-   s     r   Úhandle_messagezTextReporter.handle_messageœ   s]   € àŒ:˜Tœ]Ð*Ð*Ø�LŠL� SÑ)Ô)Ñ*Ô*Ð*ØŒM×Ò˜cœjÑ)Ô)Ð)Ø×Ò˜3ÑÔÐÐÐr   Úlayoutr   c                ó~   — t          | j        ¬¦  «         t          ¦   «                              || j        ¦  «         dS )zLaunch layouts display.)ÚfileN)ÚprintÚoutr   rŒ   )r*   r”   s     r   Ú_displayzTextReporter._display£   s7   € å�4”8ÐÑÔÐÝ‰Œ×Ò˜F D¤HÑ-Ô-Ð-Ð-Ð-r   rl   ©rh   ri   r   rj   )rb   r   rv   r   r   rj   ©r-   r
   r   rj   )r”   r   r   rj   )r4   r5   r6   r7   r[   Ú	extensionrq   rn   r‡   r�   r“   r™   Ú__classcell__©ru   s   @r   re   re   m   s®   ø€ € € € € Ø5Ð5à€DØ€IØF€KðRð Rð Rð Rð Rð Rð Rð(ð (ð (ð (ð.?ð ?ð ?ð ?ð ð  ð  ð  ð.ð .ð .ð .ð .ð .ð .ð .r   re   c                  ó   — e Zd ZdZdZd	d„ZdS )
ÚNoHeaderReporterzCReports messages and layouts in plain text without a module header.z	no-headerr-   r
   r   rj   c                óŠ   — |j         | j        vr| j                             |j         ¦  «         |                      |¦  «         dS )z'Write message(s) without module header.N)rb   rp   r‘   r�   r’   s     r   r“   zNoHeaderReporter.handle_message®   sC   € àŒ:˜Tœ]Ð*Ð*ØŒM×Ò˜cœjÑ)Ô)Ð)Ø×Ò˜3ÑÔÐÐÐr   Nr›   )r4   r5   r6   r7   r[   r“   r   r   r   r    r    ©   s3   € € € € € ØMÐMà€Dð ð  ð  ð  ð  ð  r   r    c                  ó.   ‡ — e Zd ZdZdZdZd
dˆ fd	„Zˆ xZS )ÚParseableTextReporterz’A reporter very similar to TextReporter, but display messages in a form
    recognized by most text editors :

    <filename>:<linenum>:<msg>
    Ú	parseablez0{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}Nrh   ri   r   rj   c                ó    •— t          j        | j        › d| j        › �t          d¬¦  «         t          ¦   «                              |¦  «         d S )NzC output format is deprecated. This is equivalent to --msg-template=rx   ry   )r�   r‚   r[   rq   ÚDeprecationWarningrm   rn   rt   s     €r   rn   zParseableTextReporter.__init__¿   sY   ø€ ÝŒØŒyÐoÐoÐ]aÔ]mÐoÐoÝØð	
ñ 	
ô 	
ð 	
õ
 	‰Œ×Ò˜Ñ Ô Ð Ð Ð r   rl   rš   )r4   r5   r6   r7   r[   rq   rn   r�   rž   s   @r   r£   r£   µ   sX   ø€ € € € € ðð ð €DØD€Kð!ð !ð !ð !ð !ð !ð !ð !ð !ð !ð !r   r£   c                  ó   — e Zd ZdZdZdZdS )ÚVSTextReporterzVisual studio text reporter.Úmsvsz/{path}({line}): [{msg_id}({symbol}){obj}] {msg}N)r4   r5   r6   r7   r[   rq   r   r   r   r¨   r¨   È   s   € € € € € Ø&Ð&à€DØC€K€K€Kr   r¨   c            
      óæ   ‡ — e Zd ZU dZdZ ed¦  «         edd¦  «         edd¦  «         ed¦  «         edd¦  «         edd	¦  «         ed
d¦  «        dœZded<   	 	 ddˆ fd„Zdd„Z	d d„Z
ˆ xZS )!ÚColorizedTextReporterz/Simple TextReporter that colorizes text output.Ú	colorizedrT   N)rD   rW   )rD   rE   rS   )rD   rF   rU   )rH   )ÚIÚCÚRÚWÚEÚFÚSÚColorMappingDictÚCOLOR_MAPPINGrh   ri   Úcolor_mappingúColorMappingDict | Noner   rj   c                ó(  •— t          ¦   «                              |¦  «         |pt          j        | _        ddg}t
          j                             d¦  «        |vr5t          j	        dk    r'dd l
}|                     | j        ¦  «        | _        d S d S d S )Nzxterm-16colorzxterm-256colorÚTERMÚwin32r   )rm   rn   r«   rµ   r¶   ÚosÚenvironÚgetÚsysÚplatformÚcoloramaÚAnsiToWin32r˜   )r*   rh   r¶   Ú
ansi_termsrÀ   ru   s        €r   rn   zColorizedTextReporter.__init__Ý   s‘   ø€ õ
 	‰Œ×Ò˜Ñ Ô Ð Ø*ÐQÕ.CÔ.QˆÔØ%Ð'7Ð8ˆ
ÝŒ:�>Š>˜&Ñ!Ô!¨Ð3Ð3ÝŒ|˜wÒ&Ð&à���à#×/Ò/°´Ñ9Ô9�”��ð 4Ð3Ø&Ð&r   Úmsg_idr   r   c                ó`   — | j                              |d         ¦  «        pt          d¦  «        S )z;Returns the message style as defined in self.color_mapping.r   N)r¶   r½   r   )r*   rÃ   s     r   Ú_get_decorationz%ColorizedTextReporter._get_decorationì   s*   € àÔ!×%Ò% f¨Q¤iÑ0Ô0ÐFµLÀÑ4FÔ4FÐFr   r-   r
   c                ó  — |j         | j        vrf|                      d¦  «        }t          t	          |¦  «        |¦  «        }|                      |¦  «         | j                             |j         ¦  «         |                      |j        ¦  «        }t          |j        |¦  «        |_        t          |j	        |¦  «        |_	        t          |j
        |¦  «        |_
        t          |j        |¦  «        |_        |                      |¦  «         dS )z`Manage message of different types, and colorize output
        using ANSI escape codes.
        r³   N)rb   rp   rÅ   r`   rc   r‹   r‘   r®   r-   ÚsymbolÚcategoryr�   )r*   r-   r^   Úmodseps       r   r“   z$ColorizedTextReporter.handle_messageð   sâ   € ð Œ:˜Tœ]Ð*Ð*Ø×,Ò,¨SÑ1Ô1ˆIÝ"¥;¨sÑ#3Ô#3°YÑ?Ô?ˆFØ�LŠL˜Ñ Ô Ð ØŒM×Ò˜cœjÑ)Ô)Ð)Ø×(Ò(¨¬Ñ/Ô/ˆ	å ¤¨Ñ3Ô3ˆŒÝ" 3¤:¨yÑ9Ô9ˆŒ
Ý$ S¤\°9Ñ=Ô=ˆŒÝ˜cœe YÑ/Ô/ˆŒØ×Ò˜3ÑÔÐÐÐr   )NN)rh   ri   r¶   r·   r   rj   )rÃ   r   r   r   r›   )r4   r5   r6   r7   r[   r   rµ   r8   rn   rÅ   r“   r�   rž   s   @r   r«   r«   Ï   s
  ø€ € € € € € Ø9Ð9à€Dàˆ\˜'Ñ"Ô"Øˆ\˜$ 	Ñ*Ô*Øˆ\˜)Ð%7Ñ8Ô8Øˆ\˜)Ñ$Ô$Øˆ\˜% Ñ+Ô+Øˆ\˜%Ð!6Ñ7Ô7Øˆ\˜( LÑ1Ô1ð'ð '€Mð ð ð ñ ð !%Ø15ð:ð :ð :ð :ð :ð :ð :ðGð Gð Gð Gð ð  ð  ð  ð  ð  ð  ð  r   r«   r{   r   rj   c                ó
  — |                       t          ¦  «         |                       t          ¦  «         |                       t          ¦  «         |                       t          ¦  «         |                       t
          ¦  «         d S rl   )Úregister_reporterre   r    r£   r¨   r«   )r{   s    r   ÚregisterrÌ     so   € Ø
×Ò�\Ñ*Ô*Ð*Ø
×ÒÕ-Ñ.Ô.Ð.Ø
×ÒÕ2Ñ3Ô3Ð3Ø
×Ò�^Ñ,Ô,Ð,Ø
×ÒÕ2Ñ3Ô3Ð3Ð3Ð3r   )r-   r   r^   r   r   r   )r-   r
   r   r   )r{   r   r   rj   )+r7   Ú
__future__r   r»   r~   r¾   r�   Údataclassesr   r   Útypingr   r   r   r	   Úpylint.messager
   Úpylint.reportersr   Ú%pylint.reporters.ureports.text_writerr   Úpylint.lintr   Úpylint.reporters.ureports.nodesr   r   r   r´   ÚTITLE_UNDERLINESr'   r)   r1   r   r&   r€   r`   rc   re   r    r£   r¨   r«   rÌ   r   r   r   ú<module>rÖ      sÊ  ðð
ð ð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :à "Ð "Ð "Ð "Ð "Ð "Ø )Ð )Ð )Ð )Ð )Ð )Ø <Ð <Ð <Ð <Ð <Ð <àð 8Ø$Ð$Ð$Ð$Ð$Ð$Ø7Ð7Ð7Ð7Ð7Ð7ð$ð $ð $ð $ð $�:ñ $ô $ð $ðN ˜˜\Ð)Ô*Ð à&Ð&Ð&Ð à€Ø€Ø€
àØØØØØØðð €ð ØØØØØØØØð
ð 
€ð 3Ð2 & &¨¡/¤/Ð2Ñ2Ô2€Ø &ð)ð )ð )ð )ð
0ð 0ð 0ð 0ð9.ð 9.ð 9.ð 9.ð 9.�<ñ 9.ô 9.ð 9.ðx	 ð 	 ð 	 ð 	 ð 	 �|ñ 	 ô 	 ð 	 ð!ð !ð !ð !ð !˜Lñ !ô !ð !ð&Dð Dð Dð Dð DÐ*ñ Dô Dð Dð0 ð 0 ð 0 ð 0 ð 0 ˜Lñ 0 ô 0 ð 0 ðf4ð 4ð 4ð 4ð 4ð 4r   