Ë
    ÚÍ:jÔ  ã                  ó¬   — d dl mZ d dlZd dlmZ ddlmZ ddlmZm	Z	 ej                  rd dlmZ d dlmZmZ dd	lmZ  G d
„ de«      Z G d„ de«      Zy)é    )ÚannotationsN)ÚPurePosixPathé   )ÚFS)ÚDirectoryExpectedÚResourceNotFound)Ú
Collection)ÚIOÚAny)ÚInfoc                  óÄ   ‡ — e Zd ZdZdˆ fd„Zd„ Zdd„Zddd„Zdd„Zdd„Z	dd„Z
dd	„Zddd
„Zddd„Zddd„Zd d„Zd d„Zd d„Zdd!d„Zd"d„Zd#d„Zd$d„Zd%d„Zd%d„Zˆ xZS )&ÚSubFSz+Maps a sub-directory of another filesystem.c                ó.  •— t         ‰| �  «        || _        t        |«      j	                  «       j                  d«      | _        |j                  | j                  «      st        d|›�«      ‚|j                  | j                  «      st        |›d�«      ‚y )Nú/zNo such file or directory: z is not a directory)ÚsuperÚ__init__Ú_parentr   Úas_posixÚrstripÚ_prefixÚexistsr   Úisdirr   )ÚselfÚparentÚsub_pathÚ	__class__s      €úu/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/fontTools/misc/filesystem/_subfs.pyr   zSubFS.__init__   s€   ø€ Ü‰ÑÔØˆŒÜ$ XÓ.×7Ñ7Ó9×@Ñ@ÀÓEˆŒØ�}‰}˜TŸ\™\Ô*Ü"Ð%@ÀÀÐ#MÓNÐNØ—‘˜dŸl™lÔ+Ü# x lÐ2EÐ$FÓGÐGð ,ó    c                ó   — | j                   S ©N)r   ©r   s    r   Údelegate_fszSubFS.delegate_fs   s   € Ø�|‰|Ðr   c                ó�   — | j                  «        | j                  › dt        |«      j                  «       › �j	                  d«      S ©Nr   )Úcheckr   r   r   Úlstrip)r   Úrels     r   Ú_fullzSubFS._full   s:   € Ø�
‰
ŒØ—,‘,�˜q¤¨sÓ!3×!<Ñ!<Ó!>Ð ?Ð@×GÑGÈÓLÐLr   c                ó\   —  | j                   j                  | j                  |«      |fi |¤ŽS r    )r   Úopenr(   )r   ÚpathÚmodeÚkwargss       r   r*   z
SubFS.open#   s)   € Ø ˆt�|‰|× Ñ  §¡¨DÓ!1°4ÑB¸6ÑBÐBr   c                óV   — | j                   j                  | j                  |«      «      S r    )r   r   r(   ©r   r+   s     r   r   zSubFS.exists&   ó    € Ø�|‰|×"Ñ" 4§:¡:¨dÓ#3Ó4Ð4r   c                óV   — | j                   j                  | j                  |«      «      S r    )r   r   r(   r/   s     r   r   zSubFS.isdir)   s    € Ø�|‰|×!Ñ! $§*¡*¨TÓ"2Ó3Ð3r   c                óV   — | j                   j                  | j                  |«      «      S r    )r   Úisfiler(   r/   s     r   r3   zSubFS.isfile,   r0   r   c                óV   — | j                   j                  | j                  |«      «      S r    )r   Úlistdirr(   r/   s     r   r5   zSubFS.listdir/   s    € Ø�|‰|×#Ñ# D§J¡J¨tÓ$4Ó5Ð5r   c                óZ   — | j                   j                  | j                  |«      |¬«      S ©N)Úrecreate)r   Úmakedirr(   ©r   r+   r8   s      r   r9   zSubFS.makedir2   s%   € Ø�|‰|×#Ñ# D§J¡J¨tÓ$4¸xÐ#ÓHÐHr   c                óZ   — | j                   j                  | j                  |«      |¬«      S r7   )r   Úmakedirsr(   r:   s      r   r<   zSubFS.makedirs5   s%   € Ø�|‰|×$Ñ$ T§Z¡Z°Ó%5ÀÐ$ÓIÐIr   c                óZ   — | j                   j                  | j                  |«      |¬«      S )N)Ú
namespaces)r   Úgetinfor(   )r   r+   r>   s      r   r?   zSubFS.getinfo8   s%   € Ø�|‰|×#Ñ# D§J¡J¨tÓ$4ÀÐ#ÓLÐLr   c                óV   — | j                   j                  | j                  |«      «      S r    )r   Úremover(   r/   s     r   rA   zSubFS.remove;   r0   r   c                óV   — | j                   j                  | j                  |«      «      S r    )r   Ú	removedirr(   r/   s     r   rC   zSubFS.removedir>   ó    € Ø�|‰|×%Ñ% d§j¡j°Ó&6Ó7Ð7r   c                óV   — | j                   j                  | j                  |«      «      S r    )r   Ú
removetreer(   r/   s     r   rF   zSubFS.removetreeA   ó    € Ø�|‰|×&Ñ& t§z¡z°$Ó'7Ó8Ð8r   c                ó|   — | j                   j                  | j                  |«      | j                  |«      |¬«       y )N)Úcreate)r   Úmovedirr(   )r   ÚsrcÚdstrI   s       r   rJ   zSubFS.movedirD   s+   € Ø�‰×Ñ˜TŸZ™Z¨›_¨d¯j©j¸«oÀfÐÕMr   c                óV   — | j                   j                  | j                  |«      «      S r    )r   Ú
getsyspathr(   r/   s     r   rN   zSubFS.getsyspathG   rG   r   c                óV   — | j                   j                  | j                  |«      «      S r    )r   Ú	readbytesr(   r/   s     r   rP   zSubFS.readbytesJ   rD   r   c                óZ   — | j                   j                  | j                  |«      |«       y r    )r   Ú
writebytesr(   )r   r+   Údatas      r   rR   zSubFS.writebytesM   s   € Ø�‰×Ñ §
¡
¨4Ó 0°$Õ7r   c                óh   — | j                   j                  › d| j                  ›d| j                  ›d�S )Nú(z, ú))r   Ú__name__r   r   r!   s    r   Ú__repr__zSubFS.__repr__P   s0   € Ø—.‘.×)Ñ)Ð*¨!¨D¯L©LÐ+;¸2¸d¿l¹lÐ=MÈQÐOÐOr   c                ó8   — | j                   › d| j                  › �S r$   )r   r   r!   s    r   Ú__str__zSubFS.__str__S   s   € Ø—,‘,�˜q §¡ Ð/Ð/r   )r   r   r   Ústr)r'   r[   Úreturnr[   )Úrb)r+   r[   r,   r[   r\   zIO[Any])r+   r[   r\   Úbool)r+   r[   r\   z	list[str])F)r+   r[   r8   r^   r    )r+   r[   r>   zCollection[str] | Noner\   r   )r+   r[   )rK   r[   rL   r[   rI   r^   )r+   r[   r\   r[   )r+   r[   r\   Úbytes)r+   r[   rS   r_   )r\   r[   )rW   Ú
__module__Ú__qualname__Ú__doc__r   r"   r(   r*   r   r   r3   r5   r9   r<   r?   rA   rC   rF   rJ   rN   rP   rR   rX   rZ   Ú__classcell__©r   s   @r   r   r      sr   ø„ Ù5õHòóMôCó5ó4ó5ó6ôIôJôMó5ó8ó9ôNó9ó8ó8óP÷0r   r   c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚClosingSubFSz>Like SubFS, but auto-closes the parent filesystem when closed.c                óV   •— t         ‰| �  «        | j                  j                  «        y r    )r   Úcloser   )r   r   s    €r   rh   zClosingSubFS.closeZ   s   ø€ Ü‰‰ŒØ�‰×ÑÕr   )rW   r`   ra   rb   rh   rc   rd   s   @r   rf   rf   W   s   ø„ ÙH÷ð r   rf   )Ú
__future__r   ÚtypingÚpathlibr   Ú_baser   Ú_errorsr   r   ÚTYPE_CHECKINGÚcollections.abcr	   r
   r   Ú_infor   r   rf   © r   r   ú<module>rr      sA   ðÝ "ã Ý !å ß 8à	×ÒÝ*ßåôD0ˆBô D0ôN�5õ r   