§
    ÷yIf  ã                  óŒ   — d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ  G d	„ d
¦  «        ZdS )é    )ÚannotationsN)ÚPath)ÚPackageToLint)ÚPrimerCommand)ÚCompareCommand)ÚPrepareCommand)Ú
RunCommandc                  óR   — e Zd ZdZdd„Zdd„Zedd„¦   «         Zedd„¦   «         ZdS )ÚPrimerz)Main class to handle priming of packages.Úprimer_directoryr   Ú	json_pathÚreturnÚNonec                óª  — || _         t          j        d¬¦  «        | _        | j                             dd¬¦  «        | _        | j                             d¦  «        }|                     ddd	d
¬¦  «         |                     ddd	d
¬¦  «         |                     ddd	d
¬¦  «         |                     ddd	d
¬¦  «         | j                             d¦  «        }|                     dddgdd¬¦  «         |                     dd
t          d¬¦  «         |                     dd
t          d¬¦  «         | j                             d¦  «        }|                     ddd¬ ¦  «         |                     d!dd"¬ ¦  «         |                     d#dd$¬ ¦  «         |                     dd
t          d%¬¦  «         | j         	                    ¦   «         | _
        |                      |¦  «        | _        	 | j
        j        dk    rt          }n/| j
        j        dk    rt          }n| j
        j        dk    rt           } || j         | j        | j
        ¦  «        | _        d S )&NzPylint Primer)ÚprogÚcommandT)ÚdestÚrequiredÚpreparez--clonezClone all packages.Ú
store_trueF)ÚhelpÚactionÚdefaultz--checkz0Check consistencies and commits of all packages.z--make-commit-stringzGet latest commit string.z--read-commit-stringzPrint latest commit string.Úrunz--typeÚmainÚprzType of primer run.)Úchoicesr   r   z	--batcheszNumber of batches)r   Útyper   z
--batchIdxz"Portion of primer packages to run.Úcomparez--base-filez(Location of output file of the base run.)r   r   z
--new-filez'Location of output file of the new run.z--commitz+Commit hash of the PR commit being checked.zLNumber of batches (filepaths with the placeholder BATCHIDX will be numbered))r   ÚargparseÚArgumentParserÚ_argument_parserÚadd_subparsersÚ_subparsersÚ
add_parserÚadd_argumentÚintÚ
parse_argsÚconfigÚ_get_packages_to_lint_from_jsonÚpackagesr   r   r	   r   )Úselfr   r   Úprepare_parserÚ
run_parserÚcompare_parserÚcommand_classs          úS/var/www/piapp/venv/lib/python3.11/site-packages/pylint/testutils/_primer/primer.pyÚ__init__zPrimer.__init__   sì  € à 0ˆÔÝ (Ô 7¸_Ð MÑ MÔ MˆÔØÔ0×?Ò?Ø Tð @ñ 
ô 
ˆÔð
 Ô)×4Ò4°YÑ?Ô?ˆØ×#Ò#ØÐ1¸,ÐPUð 	$ñ 	
ô 	
ð 	
ð 	×#Ò#ØØCØØð	 	$ñ 	
ô 	
ð 	
ð 	×#Ò#Ø"Ø,ØØð	 	$ñ 	
ô 	
ð 	
ð 	×#Ò#Ø"Ø.ØØð	 	$ñ 	
ô 	
ð 	
ð Ô%×0Ò0°Ñ7Ô7ˆ
Ø×ÒØ˜v t˜n°tÐBWð 	 ñ 	
ô 	
ð 	
ð 	×ÒØØÝØ$ð	 	 ñ 	
ô 	
ð 	
ð 	×ÒØØÝØ5ð	 	 ñ 	
ô 	
ð 	
ð Ô)×4Ò4°YÑ?Ô?ˆØ×#Ò#ØØØ;ð 	$ñ 	
ô 	
ð 	
ð
 	×#Ò#ØØØ:ð 	$ñ 	
ô 	
ð 	
ð
 	×#Ò#ØØØ>ð 	$ñ 	
ô 	
ð 	
ð
 	×#Ò#ØØÝØ_ð	 	$ñ 	
ô 	
ð 	
ð Ô+×6Ò6Ñ8Ô8ˆŒà×<Ò<¸YÑGÔGˆŒØ$àŒ;Ô )Ò+Ð+Ý1?ˆMˆMØŒ[Ô  EÒ)Ð)Ý&ˆMˆMØŒ[Ô  IÒ-Ð-Ý*ˆMØ$�} TÔ%:¸D¼MÈ4Ì;ÑWÔWˆŒˆˆó    c                ó8   — | j                              ¦   «          d S ©N)r   r   )r,   s    r1   r   z
Primer.runn   s   € ØŒ×ÒÑÔÐÐÐr3   Úpackage_dataúdict[str, str]Úboolc                ó¾   — |                       dd ¦  «        }|sdS t          d„ |                     d¦  «        D ¦   «         ¦  «        }|t          j        d d…         k    S )NÚminimum_pythonTc              3  ó4   K  — | ]}t          |¦  «        V — Œd S r5   )r'   )Ú.0Úns     r1   ú	<genexpr>z3Primer._minimum_python_supported.<locals>.<genexpr>v   s(   è è € Ð KÐ K¨A¥ Q¡¤Ð KÐ KÐ KÐ KÐ KÐ Kr3   ú.é   )ÚgetÚtupleÚsplitÚsysÚversion_info)r6   Úmin_python_strÚmin_python_tuples      r1   Ú_minimum_python_supportedz Primer._minimum_python_supportedq   sg   € à%×)Ò)Ð*:¸DÑAÔAˆØð 	Ø�4Ý Ð KÐ K°×1EÒ1EÀcÑ1JÔ1JÐ KÑ KÔ KÑKÔKÐØ¥3Ô#3°B°Q°BÔ#7Ò7Ð7r3   údict[str, PackageToLint]c                ó¸   — t          | d¬¦  «        5 }d„ t          j        |¦  «                             ¦   «         D ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )NÚutf8)Úencodingc                ób   — i | ],\  }}t                                |¦  «        ¯|t          d i |¤Ž“Œ-S )© )r   rH   r   )r<   Únamer6   s      r1   ú
<dictcomp>z:Primer._get_packages_to_lint_from_json.<locals>.<dictcomp>|   sP   € ð ð ð á&�D˜,Ý×3Ò3°LÑAÔAðØ•mÐ3Ð3 lÐ3Ð3ðð ð r3   )ÚopenÚjsonÚloadÚitems)r   Úfs     r1   r*   z&Primer._get_packages_to_lint_from_jsony   s¦   € å�) fÐ-Ñ-Ô-ð 	°ðð å*.¬)°A©,¬,×*<Ò*<Ñ*>Ô*>ðñ ô ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ’0AÁAÁAN)r   r   r   r   r   r   )r   r   )r6   r7   r   r8   )r   r   r   rI   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r2   r   ÚstaticmethodrH   r*   rN   r3   r1   r   r      s‹   € € € € € Ø3Ð3ðVXð VXð VXð VXðpð ð ð ð ð8ð 8ð 8ñ „\ð8ð ðð ð ñ „\ðð ð r3   r   )Ú
__future__r   r    rR   rD   Úpathlibr   Úpylint.testutils._primerr   Ú'pylint.testutils._primer.primer_commandr   Ú/pylint.testutils._primer.primer_compare_commandr   Ú/pylint.testutils._primer.primer_prepare_commandr   Ú+pylint.testutils._primer.primer_run_commandr	   r   rN   r3   r1   ú<module>rb      sÜ   ðð
 #Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø AÐ AÐ AÐ AÐ AÐ AØ JÐ JÐ JÐ JÐ JÐ JØ JÐ JÐ JÐ JÐ JÐ JØ BÐ BÐ BÐ BÐ BÐ Bðmð mð mð mð mñ mô mð mð mð mr3   