‹“Reiã@s…ddlZddlZddlZddlZddlZddlZddlZejdd„ƒZdd„Z dd„Z dS)éNc cs*tjƒ}z |VWdtj|ƒXdS)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 cOsUytj||ŽSWn:tk rP}z|jtjkr>‚WYdd}~XnXdS)zWLike `mkdir`, but does not raise an exception if the directory already exists. N)ÚosÚmkdirÚOSErrorÚerrnoÚEEXIST)ÚargsÚkwargsÚexcrrrÚmkdir_ps rcCsßtjƒ}tj|dƒ}xºtj|ƒD]©\}}}xL|D]D}tjj||ƒ}tjj||ƒ}|j |ddƒqDWxH|D]@}tjj||ƒ}tjj||ƒ}|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ÚfilesrZfs_pathÚrel_pathrrrÚdir_to_zipfiles   r&) r rÚ contextlibrrr rÚcontextmanagerr rr&rrrrÚs