3 ƒ”Reiã@sZddlZddlZddlZddlZddlZddlZddlZejdd„ƒ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-python36-pip-20.2.4-5.el9.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/pep517/dirtools.pyÚtempdir s r cOsBy tj||ŽStk r<}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]z\}}}x8|D]0}tjj||ƒ}tjj||ƒ}|j |ddƒq0Wx4|D],}tjj||ƒ}tjj||ƒ}|j ||ƒqjWq 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