Ë
    þÍ:jì  ã                  ó˜   — d dl mZ d dlZd dl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
 d dlmZ d dlmZ erd dlmZ  G d	„ d
«      Zy)é    )ÚannotationsN)ÚAny)Úcast)ÚClassVar)ÚIO)ÚTYPE_CHECKING)ÚTracebackTypec                  ó˜   — e Zd ZU  ej                  «       Zded<   g Zded<   dZded<   dd„Z	dd	„Z
dd
„Z	 	 	 	 	 	 	 	 dd„Zedd„«       Zy)ÚNamedTemporaryFilePoolzClassVar[threading.Lock]Ú_lockzClassVar[list[str]]Ú_pathFzClassVar[bool]Ú_registeredc                ó  — || _         d | _        | j                  j                  5  | j                  j                  s:t        j                  | j                  j                  «      }d| j                  _        d d d «       y # 1 sw Y   y xY w)NT)ÚkwargsÚ_fileÚ	__class__r   r   ÚatexitÚregisterÚcleanup)Úselfr   Ú_s      úq/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/optuna/testing/tempfile_pool.pyÚ__init__zNamedTemporaryFilePool.__init__   sc   € ØˆŒØ15ˆŒ
à�^‰^×!Ñ!ñ 	2Ø—>‘>×-Ò-Ü—O‘O D§N¡N×$:Ñ$:Ó;�Ø-1�—‘Ô*÷	2÷ 	2ñ 	2ús   ¥AA?Á?Bc                ó"   — | j                  «       S ©N)Útempfile)r   s    r   Ú	__enter__z NamedTemporaryFilePool.__enter__$   s   € Ø�}‰}‹Ðó    c                óH  — t        dt        j                  dddi| j                  ¤Ž«      }|| _        | j
                  j                  5  | j
                  j                  j                  |j                  «       d d d «       | j                  S # 1 sw Y   | j                  S xY w)NúIO[bytes] | IO[str]ÚdeleteF© )
r   r   ÚNamedTemporaryFiler   r   r   r   r   ÚappendÚname)r   Úfs     r   r   zNamedTemporaryFilePool.tempfile'   s}   € ÜÐ&¬×(CÑ(CÑ(`È5Ð(`ÐTX×T_ÑT_Ñ(`ÓaˆØˆŒ
Ø�^‰^×!Ñ!ñ 	0Ø�N‰N× Ñ ×'Ñ'¨¯©Ô/÷	0à�z‰zÐ÷	0à�z‰zÐús   Á	0BÂB!c                óR   — | j                   �| j                   j                  «        y y r   )r   Úclose)r   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__zNamedTemporaryFilePool.__exit__.   s#   € ð �:‰:Ð!Ø�J‰J×ÑÕð "r   c                óö   — | j                   5  t        j                  | j                  «      }g | _        d d d «       D ]  }	 t        j                  |«       Œ y # 1 sw Y   Œ'xY w# t
        t        f$ r Y Œ9w xY wr   )r   Úcopyr   ÚosÚunlinkÚFileNotFoundErrorÚPermissionError)ÚclsÚpathÚps      r   r   zNamedTemporaryFilePool.cleanup7   sp   € à�Y‰Yñ 	Ü—9‘9˜SŸY™YÓ'ˆDØˆCŒI÷	ð ò 	ˆAðÜ—	‘	˜!•ñ	÷		ð 	ûô &¤Ð7ò Ùðús   �'AÁA&ÁA#Á&A8Á7A8N)r   r   ÚreturnÚNone)r6   r    )r)   ztype[BaseException]r*   ÚBaseExceptionr+   r	   r6   r7   )r6   r7   )Ú__name__Ú
__module__Ú__qualname__Ú	threadingÚLockr   Ú__annotations__r   r   r   r   r   r,   Úclassmethodr   r"   r   r   r   r      sy   … Ø&4 i§n¡nÓ&6€EÐ#Ó6Ø!#€EÐÓ#Ø"'€K�Ó'ó2óóðà%ðð ðð ð	ð
 
óð ò	ó ñ	r   r   )Ú
__future__r   r   r.   r/   r   r<   Útypingr   r   r   r   r   Útypesr	   r   r"   r   r   ú<module>rC      s:   ðõ #ã Û Û 	Û Û Ý Ý Ý Ý Ý  ñ Ý#÷+ò +r   