
    5 f                    &   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 )JSONReporterzReport 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     T/var/www/equiseq/venv/lib/python3.11/site-packages/pylint/reporters/json_reporter.py
<listcomp>z1JSONReporter.display_messages.<locals>.<listcomp>4   %    NNNW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dj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         IIILLLNNNKKKOOOKKKIIIIIIKKKHHHHHr.   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
 
 	dj***::::::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	 	 	 &ol&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_=QPQ R R D $NNEE  	K 	K 	KJbJJEEEEEE	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.   