§
    ÷yIfM  ã                  ój   — d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
mZ dZ G d„ de¦  «        ZdS )	é    )ÚannotationsN)ÚPathÚPurePosixPath)ÚOldJsonExport)ÚPackageDataÚPackageMessagesÚPrimerCommandi   c                  ó^   — e Zd Zdd„Zedd„¦   «         Zedd„¦   «         Zdd„Zdd„Zdd„Z	dS )ÚCompareCommandÚreturnÚNonec                ó"  — | j         j        €?|                      | j         j        ¦  «        }|                      | j         j        ¦  «        }nÌi }i }t          | j         j        ¦  «        D ]®}|                     |                      | j         j                             ddt          |¦  «        z   ¦  «        ¦  «        ¦  «         |                     |                      | j         j                             ddt          |¦  «        z   ¦  «        ¦  «        ¦  «         Œ¯|  	                    ||¦  «        \  }}|  
                    ||¦  «        }t          | j        dz  dd¬¦  «        5 }|                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚBATCHIDXÚbatchzcomment.txtÚwúutf-8©Úencoding)ÚconfigÚbatchesÚ
_load_jsonÚ	base_fileÚnew_fileÚrangeÚupdateÚreplaceÚstrÚ_cross_referenceÚ_create_commentÚopenÚprimer_directoryÚwrite)ÚselfÚ	main_dataÚpr_dataÚidxÚmissing_messages_dataÚnew_messages_dataÚcommentÚfs           úc/var/www/piapp/venv/lib/python3.11/site-packages/pylint/testutils/_primer/primer_compare_command.pyÚrunzCompareCommand.run   sÌ  € ØŒ;ÔÐ&ØŸš¨¬Ô(=Ñ>Ô>ˆIØ—o’o d¤kÔ&:Ñ;Ô;ˆGˆGàˆIØˆGÝ˜Tœ[Ô0Ñ1Ô1ð 
ð 
�Ø× Ò Ø—O’OØœÔ-×5Ò5°jÀ'ÍCÐPSÉHÌHÑBTÑUÔUñô ñô ð ð
 —’Ø—O’OØœÔ,×4Ò4°ZÀÍ3ÈsÉ8Ì8ÑASÑTÔTñô ñô ð ð ð 48×3HÒ3HØ�wñ4
ô 4
Ñ0ÐÐ0ð ×&Ò&Ð'<Ð>OÑPÔPˆÝ�$Ô'¨-Ñ7¸ÀwÐOÑOÔOð 	ÐSTØ�GŠG�GÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Å!FÆFÆFr$   r   r%   ú'tuple[PackageMessages, PackageMessages]c                ó*  — i }|                       ¦   «         D ]y\  }}g }|d         D ]I}	 ||         d                              |¦  «         Œ%# t          $ r |                     |¦  «         Y ŒFw xY wt	          ||         d         |¬¦  «        ||<   Œz||fS )NÚmessagesÚcommit)r0   r/   )ÚitemsÚremoveÚ
ValueErrorÚappendr   )r$   r%   r'   ÚpackageÚdataÚpackage_missing_messagesÚmessages          r+   r   zCompareCommand._cross_reference.   sÖ   € ð 24ÐØ&Ÿ_š_Ñ.Ô.ð 		ð 		‰MˆG�TØ<>Ð$Ø 
Ô+ð =ð =�ð=Ø˜GÔ$ ZÔ0×7Ò7¸Ñ@Ô@Ð@Ð@øÝ!ð =ð =ð =Ø,×3Ò3°GÑ<Ô<Ð<Ð<Ð<ð=øøøå-8Ø˜wÔ'¨Ô1Ð<Tð.ñ .ô .Ð! 'Ñ*Ð*ð % gÐ-Ð-s   ©!AÁA-Á,A-Ú	file_pathú
Path | strc                ó€   — t          | d¬¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |S )Nr   r   )r    ÚjsonÚload)r9   r*   Úresults      r+   r   zCompareCommand._load_json?   sy   € å�) gÐ.Ñ.Ô.ð 	3°!Ý&*¤i°¡l¤lˆFð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3àˆs   ’3³7º7Úall_missing_messagesÚall_new_messagesr   c                ó  — d}|                      ¦   «         D ]R\  }}t          |¦  «        t          k    r n4||         }|d         s	|d         sŒ8||                      |||¦  «        z  }ŒS|rd|› �nd}|                      |¦  «        S )NÚ r/   u>   ðŸ¤– **Effect of this PR on checked open source code:** ðŸ¤–

ug   ðŸ¤– According to the primer, this change has **no effect** on the checked open source code. ðŸ¤–ðŸŽ‰

)r1   ÚlenÚMAX_GITHUB_COMMENT_LENGTHÚ_create_comment_for_packageÚ_truncate_comment)r#   r?   r@   r)   r5   Úmissing_messagesÚnew_messagess          r+   r   zCompareCommand._create_commentE   sÅ   € ð ˆØ)=×)CÒ)CÑ)EÔ)Eð 	ð 	Ñ%ˆGÐ%Ý�7‰|Œ|Õ8Ò8Ð8Ø�Ø+¨GÔ4ˆLØ# JÔ/ð ¸ÀZÔ8Pð ØØ�t×7Ò7Ø˜Ð'7ñô ñ ˆGˆGð
 ðÐXÈwÐXÐXÐXð:ð	 	ð ×%Ò% gÑ.Ô.Ð.ó    r5   rH   r   rG   c                ó  — d|› d| j         |         j        › d�}d}d}d}|d         rt          d¦  «         |d         D ]¯}t          t	          |d	         ¦  «                             | j         |         j        ¦  «        ¦  «        }	|d
         dk    r|dz  }ŒY||› d|d
         › d|d         › d| j         |         j        › d|d         › d|	› d|d         › d�z  }t          |¦  «         |dz  }Œ°|r||› d�z  }|r|d|z   dz   z  }d}|d         r|dz  }t          d¦  «         |d         D ]Ñ}||› d|d
         › d|d         › d�z  }t          t	          |d	         ¦  «                             | j         |         j        ¦  «        ¦  «        }	| j         |         j                             d¦  «        r
J d¦   «         ‚|| j         |         j        › d|d         › d|	› d|d         › d�z  }|dz  }t          |¦  «         ŒÒ|r|dz  }|S )Nz

**Effect on [z](z):**
é   r   rB   r/   zNow emitted:ÚpathÚsymbolzastroid-errorz) z:
*r8   z*
z/blob/r0   ú/z#LÚlineú
zc "astroid error(s)" were found. Please open the GitHub Actions log to see what failed or crashed.

z4The following messages are now emitted:

<details>

z
</details>

z:The following messages are no longer emitted:

<details>

zNo longer emitted:z.gitz5You don't need the .git at the end of the github url.)ÚpackagesÚurlÚprintr   r   Úrelative_toÚclone_directoryÚendswith)
r#   r5   rH   rG   r)   ÚcountÚastroid_errorsÚnew_non_astroid_messagesr8   Úfilepaths
             r+   rE   z*CompareCommand._create_comment_for_package\   s:  € ð T gÐSÐS°´¸wÔ1GÔ1KÐSÐSÐSˆàˆØˆØ#%Ð Ø˜
Ô#ð 	"Ý�.Ñ!Ô!Ð!Ø# JÔ/ð 	ð 	ˆGÝÝ˜g fœoÑ.Ô.×:Ò:Ø”M 'Ô*Ô:ñô ñô ˆHð �xÔ  OÒ3Ð3Ø !Ñ#��à(Øð rð r ¨Ô 1ð rð r°w¸yÔ7Ið rð rØ”} WÔ-Ô1ðrð rØ9EÀhÔ9Oðrð rØRZðrð rØ^eÐflÔ^mðrð rð rñÐ(õ �g‘”�Ø˜‘
��àð 	ØØ!ð Xð Xð XñˆGð $ð 	ØØJØ*ñ+à$ñ%ñˆGð ˆØ˜JÔ'ð 	(ØÐWÑWˆGÝÐ&Ñ'Ô'Ð'Ø'¨
Ô3ð 	ð 	ˆGØ˜%ÐQÐQ 7¨8Ô#4ÐQÐQ¸'À)Ô:LÐQÐQÐQÑQˆGÝÝ˜g fœoÑ.Ô.×:Ò:Ø”M 'Ô*Ô:ñô ñô ˆHð
 ”} WÔ-Ô1×:Ò:Øñô ð Gð GàFñGô Gð Gð Ø”= Ô)Ô-ð Rð RØ% hÔ/ðRð RØ2:ðRð RØ>EÀf¼oðRð Rð RñˆGð �Q‰JˆEÝ�'‰NŒNˆNˆNØð 	*ØÐ)Ñ)ˆGØˆrI   r)   c                ó
  — d| j         j        › d�}t          |¦  «        t          |¦  «        z   t          k    rEdt          › d�}t          t          |¦  «        z
  t          |¦  «        z
  }|d|dz
  …         › d|› d�}||z  }|S )	z;GitHub allows only a set number of characters in a comment.z'*This comment was generated for commit Ú*z7*This comment was truncated because GitHub allows only z characters in a comment.*Né
   z...

z

)r   r0   rC   rD   )r#   r)   Úhash_informationÚtruncation_informationÚmax_lens        r+   rF   z CompareCommand._truncate_comment�   sÁ   € ð L°d´kÔ6HÐKÐKÐKð 	õ ˆw‰<Œ<�#Ð.Ñ/Ô/Ñ/Õ3LÒLÐLðJÝ-ðJð Jð Jð #õ
 *ÝÐ&Ñ'Ô'ñ(åÐ,Ñ-Ô-ñ.ð ð
 !  '¨B¡, Ô/ÐTÐTÐ8NÐTÐTÐTˆGØÐ#Ñ#ˆØˆrI   N)r   r   )r$   r   r%   r   r   r-   )r9   r:   r   r   )r?   r   r@   r   r   r   )r5   r   rH   r   rG   r   r   r   )r)   r   r   r   )
Ú__name__Ú
__module__Ú__qualname__r,   Ústaticmethodr   r   r   rE   rF   © rI   r+   r   r      s¥   € € € € € ðð ð ð ð4 ð.ð .ð .ñ „\ð.ð  ðð ð ñ „\ðð
/ð /ð /ð /ð.?ð ?ð ?ð ?ðBð ð ð ð ð rI   r   )Ú
__future__r   r<   Úpathlibr   r   Úpylint.reporters.json_reporterr   Ú'pylint.testutils._primer.primer_commandr   r   r	   rD   r   re   rI   r+   ú<module>rj      sÄ   ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'à 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ð ð ð ð ð ð "Ð ð[ð [ð [ð [ð [�]ñ [ô [ð [ð [ð [rI   