a
    ^Df                     @   sd   d dl Z d dlZd dlmZ d dlmZ ddlmZ ede	ee ddd	Z
eed
ddZdS )    N)contextmanager)Optional   )PathLike~)suffixdirc                 c   s   t jd| |d}|j}|j  zL|V  W zt| W q tyj } z|jdkrTn W Y d }~qd }~0 0 nDzt| W n2 ty } z|jdkrn W Y d }~n
d }~0 0 0 d S )NF)deleter   r      )	tmpNamedTemporaryFilenamefilecloseosremoveOSErrorerrno)r   r   Ztmp_fileZtmp_namee r   Z/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/globox/atomic.py	_tempfile	   s"    


r   )	file_pathc                 o   s   | dd}ttjtj| d}t|g|R i |R}z$|V  W |r|  t|	  n|r|  t|	  0 W d    n1 s0    Y  t
||  W d    n1 s0    Y  d S )NfsyncF)r   )popr   r   pathdirnameabspathopenflushr   filenoreplace)r   argskwargsr   Ztmp_pathr   r   r   r   open_atomic   s    .r$   )r   N)r   tempfiler   
contextlibr   typingr   Z
file_utilsr   strr   r$   r   r   r   r   <module>   s   