ó `8(Zc@s_dZddlZddlZddlZddlZddlmZd„Zdd„ZdS(s Archive tools for wheel. iÿÿÿÿN(tlogcCsWtjjtjƒ}tjj|ƒ}ztj|ƒt|ƒSWdtj|ƒXdS(sWArchive all files under `base_dir` in a whl file and name it like `base_name`. N(tostpathtabspathtcurdirtchdirtmake_wheelfile_inner(t base_nametbase_dirtolddir((s,/tmp/pip-build-0nEYGB/wheel/wheel/archive.pytarchive_wheelfile s  t.c sŸ|d}tjd||ƒtjjdƒ}|dkrDd}ntjt|ƒƒdd!}t j |ddt j ƒ‰idd 6d d 6d d 6}g}‡fd†}xµtj |ƒD]¤\}} } | j ƒxˆt| ƒD]z} tjjtjj|| ƒƒ} tjj| ƒrá|jdƒrK|j|j| dƒ| fƒq[|| |ƒqáqáWq»W|j ƒx!|D]\}} || |ƒqtWˆjƒ|S(shCreate a whl file from all the files under 'base_dir'. Places .dist-info at the end of the archive.s.whls#creating '%s' and adding '%s' to ittSOURCE_DATE_EPOCHiitwt compressionitWHEELitMETADATAitRECORDcs®tj|ƒ}|dkr=tj|jƒ}|dd!}ntj||ƒ}|jd>|_ tj |_ t |dƒ}ˆj ||jƒƒWdQXtjd|ƒdS(Niiitrbs adding '%s'(RtstattNonettimetgmtimetst_mtimetzipfiletZipInfotst_modet external_attrt ZIP_DEFLATEDt compress_typetopentwritestrtreadRtinfo(Rt date_timetsttmtimetzinfotfp(tzip(s,/tmp/pip-build-0nEYGB/wheel/wheel/archive.pyt writefile1s  s .dist-infoN(RR!RtenvirontgetRRRtintRtZipFileRtwalktsorttsortedRtnormpathtjointisfiletendswithtappendtclose( RRt zip_filenamet timestampR"tscoretdeferredR(tdirpathtdirnamest filenamestnameR((R's,/tmp/pip-build-0nEYGB/wheel/wheel/archive.pyRs.     !"  ( t__doc__Rtos.pathRRt distutilsRR R(((s,/tmp/pip-build-0nEYGB/wheel/wheel/archive.pyts