§
    ÷yIf  ã                  ó&  — d Z ddlmZ ddlZddlmZmZmZ ddl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  edeeeeeee         ee         eeeedœ¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zdd„ZdS )zJSON reporter.é    )ÚannotationsN)ÚTYPE_CHECKINGÚOptionalÚ	TypedDict)ÚCONFIDENCE_MAPÚ	UNDEFINED)ÚMessage)ÚBaseReporter)ÚMessageLocationTuple)ÚPyLinter)ÚSectionÚOldJsonExport©ÚtypeÚmoduleÚobjÚlineÚcolumnÚendLineÚ	endColumnÚpathÚsymbolÚmessageú
message-idc                  ób   — e Zd ZdZdZdZdd„Zdd	„Zdd
„Ze	dd„¦   «         Z
e	dd„¦   «         ZdS )ÚJSONReporterz•Report messages and layouts in JSON.

    Consider using JSON2Reporter instead, as it is superior and this reporter
    is no longer maintained.
    ÚjsonÚlayoutúSection | NoneÚreturnÚNonec                ó‚   ‡ — ˆ fd„‰ j         D ¦   «         }t          t          j        |d¬¦  «        ‰ j        ¬¦  «         dS )úLaunch layouts display.c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS © ©Ú	serialize©Ú.0r   Úselfs     €úR/var/www/piapp/venv/lib/python3.11/site-packages/pylint/reporters/json_reporter.pyú
<listcomp>z1JSONReporter.display_messages.<locals>.<listcomp>4   ó%   ø€ ÐNÐNÐN°W˜Ÿš¨Ñ0Ô0ÐNÐNÐNó    é   ©Úindent©ÚfileN)ÚmessagesÚprintr   ÚdumpsÚout)r*   r   Újson_dumpables   `  r+   Údisplay_messageszJSONReporter.display_messages2   sH   ø€ àNÐNÐNÐNÀÄÐNÑNÔNˆÝ�dŒj˜¨qÐ1Ñ1Ô1¸¼ÐAÑAÔAÐAÐAÐAr.   r   c                ó   — dS ©z#Don't do anything in this reporter.Nr%   ©r*   r   s     r+   Údisplay_reportszJSONReporter.display_reports7   ó   € € € r.   c                ó   — dS ©zDo nothing.Nr%   r<   s     r+   Ú_displayzJSONReporter._display:   r>   r.   r   r	   r   c                ó�   — | j         | j        | j        | j        | j        | j        | j        | j        | j        | j	        pd| j
        dœS )NÚ r   )Úcategoryr   r   r   r   Úend_lineÚ
end_columnr   r   ÚmsgÚmsg_id©r   s    r+   r'   zJSONReporter.serialize=   sR   € ð Ô$Ø”nØ”;Ø”LØ”nØÔ'Ø Ô+Ø”LØ”nØ”{Ð( bØ!œ.ð
ð 
ð 	
r.   Úmessage_as_jsonc                óâ   — t          | d         | d         | d         t          | d         | d         | d         | d         | d         | d         | d	         | d
         ¬¦  «        t          ¬¦  «        S )Nr   r   r   r   r   r   r   r   r   r   ©Úabspathr   r   r   r   r   rE   rF   ©rH   r   rG   ÚlocationÚ
confidence)r	   r   r   ©rJ   s    r+   ÚdeserializezJSONReporter.deserializeM   sˆ   € åØ" <Ô0Ø" 8Ô,Ø 	Ô*Ý)Ø'¨Ô/Ø$ VÔ,Ø& xÔ0Ø# EÔ*Ø$ VÔ,Ø& xÔ0Ø(¨Ô3Ø*¨;Ô7ð	ñ 	ô 	õ !ð
ñ 
ô 
ð 	
r.   N©r   r   r    r!   ©r   r   r    r!   )r   r	   r    r   )rJ   r   r    r	   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚ	extensionr9   r=   rA   Ústaticmethodr'   rR   r%   r.   r+   r   r   (   sª   € € € € € ðð ð €DØ€IðBð Bð Bð Bð
2ð 2ð 2ð 2ðð ð ð ð ð
ð 
ð 
ñ „\ð
ð ð
ð 
ð 
ñ „\ð
ð 
ð 
r.   r   c                  ó’   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   d
ed<   ded<   ded<   dS )ÚJSONMessageÚstrr   r   Ú	messageIdr   rP   r   r   ÚabsolutePathÚintr   z
int | Noner   r   r   r   N)rU   rV   rW   Ú__annotations__r%   r.   r+   r]   r]   a   sŽ   € € € € € € Ø€I€I�IØ€L€L�LØ€N€N�NØ€K€K�KØ€O€O�OØ€K€K�KØ€I€I�IØÐÐÑØ€I€I�IØÐÐÑØ€K€K�KØÐÐÑØ€H€H�H€H€Hr.   r]   c                  óf   — e Zd ZdZdZdd„Zdd„Zdd	„Zedd„¦   «         Z	edd„¦   «         Z
dd„ZdS )ÚJSON2ReporterÚjson2r   r   r    r!   c                ó   — dS r;   r%   r<   s     r+   r=   zJSON2Reporter.display_reportsu   r>   r.   c                ó   — dS r@   r%   r<   s     r+   rA   zJSON2Reporter._displayx   r>   r.   r   c                ó¬   ‡ — ˆ fd„‰ j         D ¦   «         ‰                      ¦   «         dœ}t          t          j        |d¬¦  «        ‰ j        ¬¦  «         dS )r#   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r%   r&   r(   s     €r+   r,   z2JSON2Reporter.display_messages.<locals>.<listcomp>~   r-   r.   )r4   Ú
statisticsr/   r0   r2   N)r4   Úserialize_statsr5   r   r6   r7   )r*   r   Úoutputs   `  r+   r9   zJSON2Reporter.display_messages{   sf   ø€ ð OÐNÐNÐNÀÄÐNÑNÔNØ×.Ò.Ñ0Ô0ð
ð 
ˆõ 	�dŒj˜¨Ð*Ñ*Ô*°´Ð:Ñ:Ô:Ð:Ð:Ð:r.   r   r	   r]   c                óÊ   — t          | j        | j        | j        pd| j        | j        j        | j        | j        | j	        | j
        | j        | j        | j        | j        ¬¦  «        S )NrC   )r   r   r   r_   rP   r   r   r   r   r   r   r   r`   )r]   rD   r   rG   rH   rP   rY   r   r   r   r   rE   rF   r   rM   rI   s    r+   r'   zJSON2Reporter.serializeƒ   sf   € åØÔ!Ø”>Ø”KÐ% 2Ø”nØÔ)Ô.Ø”>Ø”Ø”Ø”>ØÔ$ØÔ(Ø”Ø œð
ñ 
ô 
ð 	
r.   rJ   c                óú   — t          | d         | d         | d         t          | d         | d         | d         | d         | d         | d	         | d
         | d         ¬¦  «        t          | d                  ¬¦  «        S )Nr_   r   r   r`   r   r   r   r   r   r   r   rL   rP   rN   )r	   r   r   rQ   s    r+   rR   zJSON2Reporter.deserialize•   s’   € åØ" ;Ô/Ø" 8Ô,Ø 	Ô*Ý)Ø'¨Ô7Ø$ VÔ,Ø& xÔ0Ø# EÔ*Ø$ VÔ,Ø& xÔ0Ø(¨Ô3Ø*¨;Ô7ð	ñ 	ô 	õ & o°lÔ&CÔDð
ñ 
ô 
ð 	
r.   ú%dict[str, str | int | dict[str, int]]c                óR  — | j         j        }|j        |j        |j        |j        |j        |j        dœ}| j         j        j	        }	 t          |i i |¥d|j        pdi¥¦  «        }t          |d¦  «        }n# t          $ r}d|› �}Y d}~nd}~ww xY w|t          |j        ¦  «        |dœS )z8Serialize the linter stats into something JSON dumpable.)ÚfatalÚerrorÚwarningÚrefactorÚ
conventionÚinfoÚ	statementé   é   z$An exception occurred while rating: N)ÚmessageTypeCountÚmodulesLintedÚscore)ÚlinterÚstatsrq   rr   rs   rt   ru   rv   ÚconfigÚ
evaluationÚevalrw   ÚroundÚ	ExceptionÚlenÚ	by_module)r*   r~   Úcounts_dictr€   Únoter|   Úexs          r+   rk   zJSON2Reporter.serialize_stats¨   sì   € à”Ô!ˆð ”[Ø”[Ø”}ØœØÔ*Ø”Jð
ð 
ˆð ”[Ô'Ô2ˆ
ð	#ÝØ˜BÐ R ;Ð R°¸U¼_Ð=QÐPQÐ RÐ Rñô ˆDõ ˜$ ‘N”NˆEˆEøõ ð 	Kð 	Kð 	KØJÀbÐJÐJˆEˆEˆEˆEˆEˆEøøøøð	Køøøð !,Ý  ¤Ñ1Ô1Øð
ð 
ð 	
s   ÁA5 Á5
BÁ?B	Â	BNrT   rS   )r   r	   r    r]   )rJ   r]   r    r	   )r    ro   )rU   rV   rW   rY   rZ   r=   rA   r9   r[   r'   rR   rk   r%   r.   r+   rd   rd   q   s®   € € € € € Ø€DØ€Ið2ð 2ð 2ð 2ðð ð ð ð;ð ;ð ;ð ;ð ð
ð 
ð 
ñ „\ð
ð" ð
ð 
ð 
ñ „\ð
ð$
ð 
ð 
ð 
ð 
ð 
r.   rd   r}   r   r    r!   c                ón   — |                       t          ¦  «         |                       t          ¦  «         d S )N)Úregister_reporterr   rd   )r}   s    r+   Úregisterr‹   Ç   s0   € Ø
×Ò�\Ñ*Ô*Ð*Ø
×Ò�]Ñ+Ô+Ð+Ð+Ð+r.   )r}   r   r    r!   )rX   Ú
__future__r   r   Útypingr   r   r   Úpylint.interfacesr   r   Úpylint.messager	   Úpylint.reporters.base_reporterr
   Úpylint.typingr   Úpylint.lint.pylinterr   Úpylint.reporters.ureports.nodesr   r^   ra   r   r   r]   rd   r‹   r%   r.   r+   ú<module>r”      s¯  ðð
 Ð à "Ð "Ð "Ð "Ð "Ð "à €€€Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø "Ð "Ð "Ð "Ð "Ð "Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø .Ð .Ð .Ð .Ð .Ð .àð 8Ø-Ð-Ð-Ð-Ð-Ð-Ø7Ð7Ð7Ð7Ð7Ð7ð �	ØàØØØØØ˜C”=Ø˜c”]ØØØØðð ñô €ð$6
ð 6
ð 6
ð 6
ð 6
�<ñ 6
ô 6
ð 6
ðrð ð ð ð �)ñ ô ð ð S
ð S
ð S
ð S
ð S
�Lñ S
ô S
ð S
ðl,ð ,ð ,ð ,ð ,ð ,r.   