‹“Rei ã @ s… 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 j ƒ } z | VWd t j | ƒ Xd S)z2Create a temporary directory in a context manager.N)ÚtempfileÚmkdtempÚshutilÚrmtree)Útd© r úŠ/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/pep517/dirtools.pyÚtempdir s r c O sU y t j | | Ž SWn: t k rP } z | j t j k r> ‚ WYd d } ~ Xn Xd S)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 j ƒ } t j | d ƒ } xº t j | ƒ D]© \ } } } xL | D]D } t j j | | ƒ } t j j | | ƒ } | j | d d ƒ qD WxH | D]@ } t j j | | ƒ } t j j | | ƒ } | j | | ƒ q“ Wq. W| 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 Zfs_pathÚrel_pathr r r Údir_to_zipfile s r&