§
    ÷yIfî  ã                  ó¨   — d dl m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  ed¦  «        d	z  Z G d
„ de¦  «        Z G d„ d¦  «        ZdS )é    )ÚannotationsN)ÚPath)ÚLiteral)ÚGitCommandError)ÚGit)ÚRepoÚtestsz.pylint_primer_testsc                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚDirtyPrimerDirectoryExceptionz'We can't pull if there's local changes.Úpathú
Path | strc                óR   •— t          ¦   «                              d|› d�¦  «         d S )Nzm

/!\ Can't pull /!\

In order for the prepare command to be able to pull please cleanup your local repo:
cd z

git diff
)ÚsuperÚ__init__)Úselfr   Ú	__class__s     €ú\/var/www/piapp/venv/lib/python3.11/site-packages/pylint/testutils/_primer/package_to_lint.pyr   z&DirtyPrimerDirectoryException.__init__   sB   ø€ Ý‰Œ×Òðð
 	ðð ð ñ		
ô 		
ð 		
ð 		
ð 		
ó    )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__)r   s   @r   r   r      sC   ø€ € € € € Ø1Ð1ð

ð 

ð 

ð 

ð 

ð 

ð 

ð 

ð 

ð 

r   r   c                  óò   — e Zd ZU dZded<   	 ded<   	 ded<   	 ded<   	 ded	<   	 ded
<   	 ded<   	 	 	 	 	 ddd„Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Z	edd„¦   «         Z
dd„Zdd„Zdd„ZdS ) ÚPackageToLintzARepresents data about a package to be tested during primer tests.ÚstrÚurlÚbranchú	list[str]Údirectoriesú
str | NoneÚcommitÚpylint_additional_argsÚpylintrc_relpathÚminimum_pythonNúlist[str] | NoneÚreturnÚNonec                ól   — || _         || _        || _        || _        |pg | _        || _        || _        d S )N)r   r   r    r"   r#   r$   r%   )r   r   r   r    r"   r#   r$   r%   s           r   r   zPackageToLint.__init__:   sD   € ð ˆŒØˆŒØ&ˆÔØˆŒØ&<Ð&BÀˆÔ#Ø 0ˆÔØ,ˆÔÐÐr   úPath | Literal['']c                ó2   — | j         €dS | j        | j         z  S )NÚ )r$   Úclone_directory©r   s    r   ÚpylintrczPackageToLint.pylintrcL   s!   € àÔ Ð(à�2ØÔ# dÔ&;Ñ;Ð;r   r   c                ó¨   — d                      | j                             d¦  «        dd…         ¦  «                             dd¦  «        }t          |z  S )z#Directory to clone repository into.ú/éþÿÿÿNz.gitr,   )Újoinr   ÚsplitÚreplaceÚPRIMER_DIRECTORY_PATH)r   Ú
clone_names     r   r-   zPackageToLint.clone_directoryS   sG   € ð —X’X˜dœhŸnšn¨SÑ1Ô1°"°#°#Ô6Ñ7Ô7×?Ò?ÀÈÑKÔKˆ
Ý$ zÑ1Ð1r   c                ó*   ‡ — ˆ fd„‰ j         D ¦   «         S )zThe paths we need to lint.c                ó>   •— g | ]}t          ‰j        |z  ¦  «        ‘ŒS © )r   r-   )Ú.0r   r   s     €r   ú
<listcomp>z/PackageToLint.paths_to_lint.<locals>.<listcomp>\   s)   ø€ ÐNÐNÐN°T•�DÔ(¨4Ñ/Ñ0Ô0ÐNÐNÐNr   )r    r.   s   `r   Úpaths_to_lintzPackageToLint.paths_to_lintY   s#   ø€ ð OÐNÐNÐN¸TÔ=MÐNÑNÔNÐNr   c                óF   — g }|d| j         › �gz  }| j        |z   | j        z   S )Nz	--rcfile=)r/   r=   r#   )r   Úoptionss     r   Úpylint_argszPackageToLint.pylint_args^   s5   € àˆàÐ/ ¤Ð/Ð/Ð0Ñ0ˆØÔ! GÑ+¨dÔ.IÑIÐIr   c                ó¸   — t          j        d| j        ¦  «         | j                             ¦   «         s|                      ¦   «         S |                      ¦   «         S )a‡  Concatenates the target directory and clones the file.

        Not expected to be tested as the primer won't work if it doesn't.
        It's tested in the continuous integration primers, only the coverage
        is not calculated on everything. If lazy clone breaks for local use
        we'll probably notice because we'll have a fatal when launching the
        primer locally.
        zLazy cloning %s)ÚloggingÚinfor   r-   ÚexistsÚ_clone_repositoryÚ_pull_repositoryr.   s    r   Ú
lazy_clonezPackageToLint.lazy_clonee   sT   € õ 	ŒÐ&¨¬Ñ1Ô1Ð1ØÔ#×*Ò*Ñ,Ô,ð 	,Ø×)Ò)Ñ+Ô+Ð+Ø×$Ò$Ñ&Ô&Ð&r   c                óü   — | j         t          | j        ¦  «        | j        ddœ}t	          j        d|¦  «         t          j        | j         | j        | j        d¬¦  «        }t          |j        j	        j
        ¦  «        S )Né   )r   Úto_pathr   Údepthz&Directory does not exists, cloning: %s)r   r   r-   r   rB   rC   r   Ú
clone_fromÚheadÚobjectÚhexsha)r   r?   Úrepos      r   rE   zPackageToLint._clone_repositorys   s}   € à”8Ý˜4Ô/Ñ0Ô0Ø”kØð	)
ð )
ˆõ 	ŒÐ=¸wÑGÔGÐGÝŒØ” $Ô"6¸t¼{ÐRSð
ñ 
ô 
ˆõ �4”9Ô#Ô*Ñ+Ô+Ð+r   c                ó`  — t          ¦   «                              | j        | j        ¦  «                             d¦  «        d         }t          | j        ¦  «        j        j        j	        }||k    ržt          j        d||¦  «         	 t          | j        ¦  «        }|                     ¦   «         rt          | j        ¦  «        ‚|j        j        }|                     ¦   «          n># t"          $ r}t%          d| j        › �¦  «        |‚d }~ww xY wt          j        d¦  «         t'          |¦  «        S )Nú	r   z?Remote sha is '%s' while local sha is '%s': pulling new commitszFailed to clone repository for zRepository already up to date.)r   Ú	ls_remoter   r   r4   r   r-   rM   rN   rO   rB   rC   Úis_dirtyr   ÚremotesÚoriginÚpullr   ÚSystemErrorr   )r   Úremote_sha1_commitÚlocal_sha1_commitrP   rV   Úes         r   rF   zPackageToLint._pull_repository€   s)  € Ý ™UœUŸ_š_¨T¬X°t´{ÑCÔC×IÒIÈ$ÑOÔOÐPQÔRÐÝ  Ô!5Ñ6Ô6Ô;ÔBÔIÐØÐ!2Ò2Ð2ÝŒLØQØ"Ø!ñô ð ð
	Ý˜DÔ0Ñ1Ô1�Ø—=’=‘?”?ð NÝ7¸Ô8LÑMÔMÐMØœÔ,�Ø—’‘”��øÝ"ð ð ð Ý!ØL°dÔ6JÐLÐLñô àðøøøøðøøøõ
 ŒLÐ9Ñ:Ô:Ð:ÝÐ%Ñ&Ô&Ð&s   ÂAC# Ã#
D
Ã-DÄD
)NNNN)r   r   r   r   r    r   r"   r!   r#   r&   r$   r!   r%   r!   r'   r(   )r'   r*   )r'   r   )r'   r   )r'   r   )r   r   r   r   Ú__annotations__r   Úpropertyr/   r-   r=   r@   rG   rE   rF   r:   r   r   r   r   "   sj  € € € € € € ØKÐKà€H€H�HØ)à€K€K�KØ,àÐÐÑØ?àÐÐÑØ/à%Ð%Ð%Ñ%Ø&à Ð Ð Ñ ØQàÐÐÑØ:ð "Ø37Ø'+Ø%)ð-ð -ð -ð -ð -ð$ ð<ð <ð <ñ „Xð<ð ð2ð 2ð 2ñ „Xð2ð
 ðOð Oð Oñ „XðOð ðJð Jð Jñ „XðJð'ð 'ð 'ð 'ð,ð ,ð ,ð ,ð'ð 'ð 'ð 'ð 'ð 'r   r   )Ú
__future__r   rB   Úpathlibr   Útypingr   Úgitr   Úgit.cmdr   Úgit.repor   r6   Ú	Exceptionr   r   r:   r   r   ú<module>re      sö   ðð
 #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à˜˜W™œÐ(>Ñ>Ð ð
ð 
ð 
ð 
ð 
 Iñ 
ô 
ð 
ð s'ð s'ð s'ð s'ð s'ñ s'ô s'ð s'ð s'ð s'r   