§
    ÷yIfN  ã                  ó�   — 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	 ddl
mZmZ erddlmZ dd„Zdd„Zddd„Zej        dfdd„ZdS )z?Various helper functions to create the docs of a linter object.é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚTextIO)ÚMAIN_CHECKER_NAME)Úget_rst_sectionÚget_rst_title)ÚPyLinterÚlinterr
   Úreturnúdict[str, dict[str, Any]]c                ó  — i }|                       ¦   «         D ]ç}|j        }|t          k    rÓ	 |||         d<   ||         dxx         |                     ¦   «         z  cc<   ||         d                              |j        ¦  «         ||         dxx         |j        z  cc<   ŒŠ# t          $ rP |t          |                     ¦   «         ¦  «        t          |j        ¦  «        t          |j        ¦  «        dœ||<   Y Œãw xY wŒè|S )z,Get info from a checker and handle KeyError.ÚcheckerÚoptionsÚmsgsÚreports)r   r   r   r   )
Úget_checkersÚnamer   Ú_options_and_valuesÚupdater   r   ÚKeyErrorÚlistÚdict)r   Ú
by_checkerr   r   s       úE/var/www/piapp/venv/lib/python3.11/site-packages/pylint/utils/docs.pyÚ_get_checkers_infosr      s/  € à,.€JØ×&Ò&Ñ(Ô(ð ð ˆØŒ|ˆØÕ$Ò$Ð$ðØ.5�
˜4Ô  Ñ+Ø˜4Ô  Ð+Ð+Ô+¨w×/JÒ/JÑ/LÔ/LÑLÐ+Ð+Ñ+Ø˜4Ô  Ô(×/Ò/°´Ñ=Ô=Ð=Ø˜4Ô  Ð+Ð+Ô+¨w¬Ñ>Ð+Ð+Ñ+Ð+øÝð ð ð à&Ý# G×$?Ò$?Ñ$AÔ$AÑBÔBÝ  ¤Ñ.Ô.Ý# G¤OÑ4Ô4ð	$ð $�
˜4Ñ Ð Ð ðøøøð %ð Ðs   ¬A4B!Â!AC;Ã:C;Ústrc                óx  — t          dd¦  «        }|dz  }|                      ¦   «         D ]�}|j        t          k    r}|j        rv|                     ¦   «         D ]a\  }}|€d}n|                     ¦   «         › d�}|t          |d¦  «        z  }t          |t          ¦  «        sJ ‚|t          d|¦  «        › d�z  }ŒbŒ�|S )	z'Get documentation for the main checker.z"Pylint global options and switchesú-z/
Pylint provides global options and switches.

NzGeneral optionsz optionsú~ú
)
r	   r   r   r   r   Ú_options_by_sectionÚ
capitalizeÚ
isinstancer   r   )r   Úresultr   Úsectionr   Útitles         r   Ú!_get_global_options_documentationr(   (   sì   € åÐ?ÀÑEÔE€FØ
ð ñ €Fð ×&Ò&Ñ(Ô(ð 	@ð 	@ˆØŒ<Õ,Ò,Ð,°´Ð,Ø$+×$?Ò$?Ñ$AÔ$Að @ð @Ñ �˜Ø�?Ø-�E�Eà&×1Ò1Ñ3Ô3Ð=Ð=Ð=�EØ�-¨¨sÑ3Ô3Ñ3�Ý! '­4Ñ0Ô0Ð0Ð0Ð0Ø�_¨T°7Ñ;Ô;Ð?Ð?Ð?Ñ?��øØ€Mó    TÚshow_optionsÚboolc                óî   — |rt          | ¦  «        }nd}|t          dd¦  «        z  }|dz  }t          | ¦  «        }t          |¦  «        D ])}||         }|d         }|d= | |j        di |¤d|i¤Žz  }Œ*|S )z*Get documentation for individual checkers.Ú z%Pylint checkers' options and switchesr   zÕ
Pylint checkers can provide three set of features:

* options that control their execution,
* messages that they can raise,
* reports that they can generate.

Below is a list of all checkers and their features.

r   r*   © )r(   r	   r   ÚsortedÚget_full_documentation)r   r*   r%   r   Úchecker_nameÚinformationr   s          r   Ú_get_checkers_documentationr3   <   sÈ   € àð Ý2°6Ñ:Ô:ˆˆàˆà
�mÐCÀSÑIÔIÑI€FØ
ð 
ñ 
€Fõ % VÑ,Ô,€JÝ˜zÑ*Ô*ð 
ð 
ˆØ  Ô.ˆØ˜iÔ(ˆØ˜	Ð"ØÐ0�'Ô0ð 
ð 
Øð
ð 
Ø(4ð
ð 
ð 
ñ 	
ˆˆð €Mr)   Ústreamr   ÚNonec                óV   — t          t          | |¬¦  «        dd…         |¬¦  «         dS )z+Output a full documentation in ReST format.)r*   Néýÿÿÿ)Úfile)Úprintr3   )r   r4   r*   s      r   Úprint_full_documentationr:   Z   sA   € õ 
Ý# F¸ÐFÑFÔFÀsÈÀsÔKÐRXðñ ô ð ð ð r)   )r   r
   r   r   )r   r
   r   r   )T)r   r
   r*   r+   r   r   )r   r
   r4   r   r*   r+   r   r5   )Ú__doc__Ú
__future__r   ÚsysÚtypingr   r   r   Úpylint.constantsr   Úpylint.utils.utilsr   r	   Úpylint.lint.pylinterr
   r   r(   r3   Ústdoutr:   r.   r)   r   ú<module>rC      sø   ðð
 FÐ Eà "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -à .Ð .Ð .Ð .Ð .Ð .Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =àð .Ø-Ð-Ð-Ð-Ð-Ð-ðð ð ð ð*ð ð ð ð(ð ð ð ð ð> (+¤zÈðð ð ð ð ð ð r)   