ó
    Ð]j^	  ã                   óN   • S SK Jr   " S S5      r " S S5      r " S S\5      rg)	é    )Údequec                   ó:   • \ rS rSrSrS rS rS rS rS
S jr	Sr
g	)ÚTransactioné   zô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                 ó.   • Xl         [        5       U l        g)ú/
Parameters
----------
fs: FileSystem instance
N)Úfsr   Úfiles)Úselfr	   Úkwargss      ÚO/home/mande/repo/quber/.venv/lib/python3.13/site-packages/fsspec/transaction.pyÚ__init__ÚTransaction.__init__   s   € ð ŒÜ“Wˆ�
ó    c                 ó&   • U R                  5         U $ ©N)Ústart©r   s    r   Ú	__enter__ÚTransaction.__enter__   s   € Ø�
‰
ŒØˆr   c                 óœ   • U R                  USL S9  U R                  (       a*  SU R                  l        SU R                  l        SU l        gg)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__ÚTransaction.__exit__   sB   € ð 	�‰˜X¨Ð-ˆÑ.Ø�7�7Ø$ˆD�G‰GÔØ#'ˆD�G‰GÔ ØˆD�Gð r   c                 óD   • [        5       U l        SU R                  l        g)z&Start a transaction on this FileSystemTN)r   r
   r	   r   r   s    r   r   ÚTransaction.start"   s   € ä“WˆŒ
Øˆ�‰Õr   c                 ó"  • U R                   (       aU  U R                   R                  5       nU(       a  UR                  5         OUR                  5         U R                   (       a  MU  SU R                  l        SU R                  l        SU l        g©z8Finish transaction: commit or discard all deferred filesFN)r
   Úpopleftr   Údiscardr	   r   r   )r   r   Úfs      r   r   ÚTransaction.complete'   s\   € à�j�jØ—
‘
×"Ñ"Ó$ˆAÞØ—‘•
à—	‘	”ð �j�j‰jð !ˆ�‰ÔØ#ˆ�‰ÔØˆ�r   ©r
   r	   N©T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r   Ú__static_attributes__© r   r   r   r      s    † ñòòòò ÷

r   r   c                   ó,   • \ rS rSrS rS rS rS rSrg)Ú	FileActoré4   c                 ó   • / U l         g r   ©r
   r   s    r   r   ÚFileActor.__init__5   s	   € Øˆ�
r   c                 ó~   • U R                    H  nUR                  5         M     U R                   R                  5         g r   )r
   r   Úclear©r   r'   s     r   r   ÚFileActor.commit8   s)   € Ø—”ˆAØ�H‰HŽJñ à�
‰
×ÑÕr   c                 ó~   • U R                    H  nUR                  5         M     U R                   R                  5         g r   )r
   r&   r9   r:   s     r   r&   ÚFileActor.discard=   s)   € Ø—”ˆAØ�I‰IŽKñ à�
‰
×ÑÕr   c                 ó:   • U R                   R                  U5        g r   )r
   Úappendr:   s     r   r?   ÚFileActor.appendB   s   € Ø�
‰
×Ñ˜!Õr   r6   N)	r+   r,   r-   r.   r   r   r&   r?   r0   r1   r   r   r3   r3   4   s   † òòò
õ
r   r3   c                   ó2   ^ • \ rS rSrU 4S jrSS jrSrU =r$ )ÚDaskTransactionéF   c                 óš   >• SSK n[        TU ]	  U5        UR                  5       nUR	                  [
        SS9R                  5       U l        g)r   r   NT)Úactor)ÚdistributedÚsuperr   Údefault_clientÚsubmitr3   Úresultr
   )r   r	   rF   ÚclientÚ	__class__s       €r   r   ÚDaskTransaction.__init__G   s@   ø€ ó 	ä‰Ñ˜ÔØ×+Ñ+Ó-ˆØ—]‘]¤9°D�]Ð9×@Ñ@ÓBˆ�
r   c                 óä   • U(       a)  U R                   R                  5       R                  5         O(U R                   R                  5       R                  5         SU R                  l        SU l        gr$   )r
   r   rJ   r&   r	   r   )r   r   s     r   r   ÚDaskTransaction.completeS   sJ   € æØ�J‰J×ÑÓ×&Ñ&Õ(à�J‰J×ÑÓ ×'Ñ'Ô)Ø ˆ�‰ÔØˆ�r   r)   r*   )r+   r,   r-   r.   r   r   r0   Ú__classcell__)rL   s   @r   rB   rB   F   s   ø† õ
C÷ò r   rB   N)Úcollectionsr   r   r3   rB   r1   r   r   Ú<module>rR      s)   ðÝ ÷-ñ -÷`ñ ô$�kõ r   