o
    Mfi                     @   sZ   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZejdd Zdd Z	dd Z
dS )    Nc               	   c   s.    t  } z| V  W t|  dS t|  w )z2Create a temporary directory in a context manager.N)tempfilemkdtempshutilrmtree)td r   ]/var/www/html/analyze/labelStudio/lib/python3.10/site-packages/pip/_vendor/pep517/dirtools.pytempdir
   s
   r	   c               
   O   sH   z	t j| i |W S  ty# } z|jtjkr W Y d}~dS d}~ww )zWLike `mkdir`, but does not raise an exception if the
    directory already exists.
    N)osmkdirOSErrorerrnoEEXIST)argskwargsexcr   r   r   mkdir_p   s   r   c                 C   s   t  }t|d}t| D ]9\} }}|D ]}tj| |}tj|| }|	|d d q|D ]}tj| |}tj|| }|
|| q1q|S )z0Construct an in-memory zip file for a directory.w/ )ioBytesIOzipfileZipFiler
   walkpathjoinrelpathwritestrwrite)rootbufferzip_filedirsfilesr   fs_pathrel_pathr   r   r   dir_to_zipfile   s   r'   )r
   r   
contextlibr   r   r   r   contextmanagerr	   r   r'   r   r   r   r   <module>   s    
	