Ë
    F^(h^	  ã                   óN   — d dl mZ  G d„ d«      Z G d„ d«      Z G d„ de«      Zy)	é    )Údequec                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zdd„Zy)	ÚTransactiona  Filesystem transaction write context

    Gathers files for deferred commit or discard, so that several write
    operations can be finalized semi-atomically. This works by having this
    instance as the ``.transaction`` attribute of the given filesystem
    c                 ó0   — || _         t        «       | _        y)úO
        Parameters
        ----------
        fs: FileSystem instance
        N)Úfsr   Úfiles)Úselfr   Úkwargss      úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fsspec/transaction.pyÚ__init__zTransaction.__init__   s   € ð ˆŒÜ“Wˆ�
ó    c                 ó&   — | j                  «        | S ©N)Ústart©r
   s    r   Ú	__enter__zTransaction.__enter__   s   € Ø�
‰
ŒØˆr   c                 ó˜   — | j                  |du ¬«       | j                  r*d| j                  _        d| j                  _        d| _        yy)z;End transaction and commit, if exit is not due to exceptionN)ÚcommitF)Úcompleter   Ú_intransÚ_transaction)r
   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__zTransaction.__exit__   sB   € ð 	�‰˜X¨Ð-ˆÔ.Ø�7Š7Ø$ˆD�G‰GÔØ#'ˆD�G‰GÔ ØˆD�Gð r   c                 óD   — t        «       | _        d| j                  _        y)z&Start a transaction on this FileSystemTN)r   r	   r   r   r   s    r   r   zTransaction.start"   s   € ä“WˆŒ
Øˆ�‰Õr   c                 ó  — | j                   rJ| j                   j                  «       }|r|j                  «        n|j                  «        | j                   rŒJd| j                  _        d| j                  _        d| _        y©z8Finish transaction: commit or discard all deferred filesFN)r	   Úpopleftr   Údiscardr   r   r   )r
   r   Úfs      r   r   zTransaction.complete'   sZ   € à�jŠjØ—
‘
×"Ñ"Ó$ˆAÙØ—‘•
à—	‘	”ð �j‹jð !ˆ�‰ÔØ#ˆ�‰ÔØˆ�r   N©T)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   © r   r   r   r      s    „ ñòòòò ô

r   r   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)Ú	FileActorc                 ó   — g | _         y r   )r	   r   s    r   r   zFileActor.__init__5   s	   € Øˆ�
r   c                 óz   — | j                   D ]  }|j                  «        Œ | j                   j                  «        y r   )r	   r   Úclear©r
   r"   s     r   r   zFileActor.commit8   s.   € Ø—‘ò 	ˆAØ�H‰H�Jð	à�
‰
×ÑÕr   c                 óz   — | j                   D ]  }|j                  «        Œ | j                   j                  «        y r   )r	   r!   r-   r.   s     r   r!   zFileActor.discard=   s.   € Ø—‘ò 	ˆAØ�I‰I�Kð	à�
‰
×ÑÕr   c                 ó:   — | j                   j                  |«       y r   )r	   Úappendr.   s     r   r1   zFileActor.appendB   s   € Ø�
‰
×Ñ˜!Õr   N)r$   r%   r&   r   r   r!   r1   r(   r   r   r*   r*   4   s   „ òòò
ó
r   r*   c                   ó&   ‡ — e Zd Zˆ fd„Zdd„Zˆ xZS )ÚDaskTransactionc                 ó    •— ddl }t        ‰| �	  |«       |j                  «       }|j	                  t
        d¬«      j                  «       | _        y)r   r   NT)Úactor)ÚdistributedÚsuperr   Údefault_clientÚsubmitr*   Úresultr	   )r
   r   r6   ÚclientÚ	__class__s       €r   r   zDaskTransaction.__init__G   s@   ø€ ó 	ä‰Ñ˜ÔØ×+Ñ+Ó-ˆØ—]‘]¤9°D�]Ó9×@Ñ@ÓBˆ�
r   c                 óÚ   — |r)| j                   j                  «       j                  «        n(| j                   j                  «       j                  «        d| j                  _        d| _        yr   )r	   r   r:   r!   r   r   )r
   r   s     r   r   zDaskTransaction.completeS   sJ   € áØ�J‰J×ÑÓ×&Ñ&Õ(à�J‰J×ÑÓ ×'Ñ'Ô)Ø ˆ�‰ÔØˆ�r   r#   )r$   r%   r&   r   r   Ú__classcell__)r<   s   @r   r3   r3   F   s   ø„ ô
C÷r   r3   N)Úcollectionsr   r   r*   r3   r(   r   r   ú<module>r@      s)   ðÝ ÷-ñ -÷`ñ ô$�kõ r   