Ë
    óÇ:j€
  ã                  ó|   — d Z 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mZ dd„Z G d„ d	«      Zd
„ Zd„ Zy)zýReusable functions and classes for different types of integration tests.

For example ``Archive`` can be used to check the contents of distribution built
with setuptools, and ``run`` will always try to be as verbose as possible to
facilitate debugging.
é    )ÚannotationsN)ÚIterator)ÚPath)ÚZipFileÚZipInfoc           	     óz  — t        j                  | dddi t        j                  ¥|xs i ¥¬«      }|j                  dz   |j
                  z   }t        d«       t        d| › d|j                  › d|› �«       |j                  d	k(  r|S t        j                  |j                  | |j                  |j
                  «      ‚)
NTúutf-8)Úcapture_outputÚtextÚencodingÚenvú
z<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z	Command: z
return code: z

r   )	Ú
subprocessÚrunÚosÚenvironÚstdoutÚstderrÚprintÚ
returncodeÚCalledProcessError)Úcmdr   ÚrÚouts       úy/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/setuptools/tests/integration/helpers.pyr   r      s¥   € Ü�‰ØØØØØ)Œr�z‰zÐ)˜cši RÐ)ô	€Að �(‰(�T‰/˜AŸH™HÑ
$€Cä	Ð
HÔIÜ	ˆI�c�U˜/¨!¯,©,¨°t¸C¸5Ð
AÔBà‡|�|�qÒØˆ
Ü
×
'Ñ
'¨¯©°c¸1¿8¹8ÀQÇXÁXÓ
NÐNó    c                  ó,   — e Zd ZdZdd„Zdd„Zd„ Zd„ Zy)	ÚArchivez5Compatibility layer for ZipFile/Info and TarFile/Infoc                óÊ   — || _         |j                  d«      rt        j                  |d«      | _        y |j                  d«      rt        |«      | _        y t        |› d�«      ‚)Nztar.gzúr:gzÚzipz# doesn't seem to be a zip or tar.gz)Ú	_filenameÚendswithÚtarfileÚopenÚ_objr   Ú
ValueError)ÚselfÚfilenames     r   Ú__init__zArchive.__init__)   sV   € Ø!ˆŒØ×Ñ˜XÔ&Ü3:·<±<ÀÈ&Ó3QˆD�IØ×Ñ˜uÔ%Ü Ó)ˆD�Iä ˜zÐ)LÐMÓNÐNr   c                óž   — t        | j                  d«      r#t        | j                  j                  «       «      S t        | j                  «      S )NÚinfolist)Úhasattrr&   Úiterr,   )r(   s    r   Ú__iter__zArchive.__iter__2   s6   € Ü�4—9‘9˜jÔ)Ü˜Ÿ	™	×*Ñ*Ó,Ó-Ð-Ü�D—I‘I‹Ðr   c                óJ   — t        |d«      r|j                  S |j                  S )Nr)   )r-   r)   Úname)r(   Úzip_or_tar_infos     r   Úget_namezArchive.get_name7   s$   € Ü�? JÔ/Ø"×+Ñ+Ð+Ø×#Ñ#Ð#r   c                ó4  — t        | j                  d«      r^| j                  j                  |«      }|€'d|j                  › d| j                  › �}t        |«      ‚t        |j                  «       d«      S t        | j                  j                  |«      d«      S )NÚextractfilezInvalid z in r	   )r-   r&   r5   r1   r"   r'   ÚstrÚread)r(   r2   ÚcontentÚmsgs       r   Úget_contentzArchive.get_content<   s~   € Ü�4—9‘9˜mÔ,Ø—i‘i×+Ñ+¨OÓ<ˆGØˆØ  ×!5Ñ!5Ð 6°d¸4¿>¹>Ð:JÐK�Ü  “oÐ%Ü�w—|‘|“~ wÓ/Ð/Ü�4—9‘9—>‘> /Ó2°GÓ<Ð<r   N)ÚreturnÚNone)r;   z-Iterator[ZipInfo] | Iterator[tarfile.TarInfo])Ú__name__Ú
__module__Ú__qualname__Ú__doc__r*   r/   r3   r:   © r   r   r   r   &   s   „ Ù?óOóò
$ó
=r   r   c                óð   — t        j                  | d«      5 }|j                  «       D �cg c]  }t        |«      ‘Œ }}d d d «       d„ D «       }|D �ch c]  }|sŒ|’Œ	 c}S c c}w # 1 sw Y   Œ*xY wc c}w )Nr    c              3  óX   K  — | ]"  }d j                  |j                  dd «      –— Œ$ y­w)ú/é   N)ÚjoinÚparts)Ú.0Úfs     r   ú	<genexpr>z$get_sdist_members.<locals>.<genexpr>J   s#   è ø€ Ò;°�c—h‘h˜qŸw™w q r˜{×+Ñ;ùs   ‚(*)r$   r%   Úgetnamesr   )Ú
sdist_pathÚtarrI   ÚfilesÚrelative_filess        r   Úget_sdist_membersrP   F   sl   € Ü	�‰�j &Ó	)ð 2¨SØ"%§,¡,£.Ö1˜Q”�a•Ð1ˆÐ1÷2ñ <°UÔ;€NØ%Ö+�!ªŠAÒ+Ð+ùò 2÷2ð 2üò ,s'   —A'ªA"¼A'ÁA3ÁA3Á"A'Á'A0c                óv   — t        | «      5 }t        |j                  «       «      cd d d «       S # 1 sw Y   y xY w©N)r   ÚsetÚnamelist)Ú
wheel_pathÚzipfiles     r   Úget_wheel_membersrW   N   s2   € Ü	�Ó	ð ' Ü�7×#Ñ#Ó%Ó&÷'÷ 'ò 'ús   Œ/¯8rR   )r@   Ú
__future__r   r   r   r$   Úcollections.abcr   Úpathlibr   rV   r   r   r   r   rP   rW   rA   r   r   ú<module>r[      s<   ðñõ #ã 	Û Û Ý $Ý ß $óO÷(=ñ =ò@,ó'r   