ó b-äQc@sÐddlZddlZddlZddlZddlZejdkrfddljjj j Z nejejZ y e Z Wnek r™dZ nXeZddlmZddlmZddlmZmZmZdddd gZd „Zddd „ƒYZeed ƒr(ejgZngZy'dd lm Z ej!e ƒƒ[ Wne"k rhnXdefd„ƒYZ#eej$gdj%ƒD]Z&e'e e&dƒ^q•ƒZ(defd„ƒYZ)dS(iÿÿÿÿNtjava(tDistutilsError(t working_set(tbuiltinstexecfiletreducetAbstractSandboxtDirectorySandboxtSandboxViolationt run_setupc sútjƒ}tj}tj}tjjtjjˆƒƒ}tjj|dƒ}tjj|ƒsutj |ƒnt j }tj j ƒ}tjƒ} zÁ|t _ tj|ƒygˆgt|ƒtj(tjjd|ƒtjƒtjjd„ƒt|ƒj‡fd†ƒWn=tk rXtjƒd} | jrY| jdrY‚qYnXWdtj| ƒtj j|ƒgtj D](} | |kr„| jdƒ r„| ^q„} tttj j | ƒƒtj|ƒ|tj(|tj(|t _ XdS(s8Run a distutils setup script, sandboxed in its directoryttempicSs |jƒS(N(tactivate(tdist((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pytCscstdiˆd6dd6ƒS(Nssetup.pyt__file__t__main__t__name__(R((t setup_script(s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyR EsiNs encodings.(!tostgetcwdtsystargvtpathtabspathtdirnametjointisdirtmakedirsttempfilettempdirtmodulestcopyt pkg_resourcest __getstate__tchdirtlisttinsertRt__init__t callbackstappendRtrunt SystemExittexc_infotargst __setstate__tupdatet startswithtmapt __delitem__( RR+told_dirt save_argvt save_patht setup_dirttemp_dirtsave_tmpt save_modulestpr_statetvtmod_namet del_modules((Rs6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyR 0sD               cBsÇeZdZeZd„Zd„Zd„Zd„Zx<dddgD]+Z e e e ƒrFee ƒe ƒe (RAtfunc((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyR(ps       cs%ttˆƒ‰‡‡fd†}|S(Ncs@|jr-|jˆ||||Ž\}}nˆ||||ŽS(N(RLt _remap_pair(RAtsrctdstR+tkw(RBtoriginal(s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pytwrap‚s $(RDR>(RBRT((RBRSs6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt_mk_dual_path_wrapper€strenametlinktsymlinkcs+ˆpttˆƒ‰‡‡fd†}|S(Ncs4|jr$|jˆ|||Ž}nˆ|||ŽS(N(RLt _remap_input(RARR+RR(RBRS(s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRTŽs (RDR>(RBRSRT((RBRSs6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt_mk_single_path_wrapperŒsRHRJtstattlistdirR"tchmodtchowntmkdirtremovetunlinktrmdirtutimetlchowntchroottlstatt startfiletmkfifotmknodtpathconftaccesscs%ttˆƒ‰‡‡fd†}|S(NcsM|jr=|jˆ|||Ž}|jˆˆ|||ŽƒSˆ|||ŽS(N(RLRYt _remap_output(RARR+RR(RBRS(s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRT s (RDR>(RBRT((RBRSs6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt_mk_single_with_returnžstreadlinkttempnamcs%ttˆƒ‰‡‡fd†}|S(Ncs,ˆ||Ž}|jr(|jˆ|ƒS|S(N(RLRl(RAR+RRtretval(RBRS(s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRT¬s (RDR>(RBRT((RBRSs6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt _mk_queryªsRttmpnamcCs|S(s=Called to remap or validate any path, whether input or output((RAR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt_validate_path¶scOs |j|ƒS(sCalled for path inputs(Rs(RAt operationRR+RR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRYºscCs |j|ƒS(sCalled for path outputs(Rs(RARtR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRl¾scOs6|j|d|||Ž|j|d|||ŽfS(s?Called for path pairs like rename, link, and symlink operationss-froms-to(RY(RARtRPRQR+RR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyROÂsN(Rt __module__t__doc__RMRLR%RFR(RURBR?R>tlocalstNoneRZRGRIRmRqRsRYRlRO(((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRas>          tdevnull(tGetGeneratePathcBs³eZdZejddddddddd d d d d g ƒZed„Zd„Ze rldd„Z ndd„Z d„Z d„Z d„Z d„Zd„Zdd„ZRS(s<Restrict operations to a single subdirectory - pseudo-chrootRJR]R^R_R`RaRbRcRdReRhRiRocCstjjtjj|ƒƒ|_tjj|jdƒ|_g|D]$}tjjtjj|ƒƒ^qC|_tj |ƒdS(Nt( RRtnormcasetrealpatht_sandboxRt_prefixt _exceptionsRR%(RAtsandboxt exceptionsR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyR%ßs!4cOst|||ƒ‚dS(N(R(RARtR+RR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt _violationåstrcOsK|dkr8|j|ƒ r8|jd||||Žnt||||ŽS(NR„trttrbtrUtURH(R„R…srbsrURˆ(t_okRƒRG(RARtmodeR+RR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRGéscOsK|dkr8|j|ƒ r8|jd||||Žnt||||ŽS(NR„R…R†R‡RˆRJ(R„srtsrbsrURˆ(R‰RƒRI(RARRŠR+RR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRIîscCs|jdƒdS(NRr(Rƒ(RA((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRróscCsy|j}z_t|_tjjtjj|ƒƒ}|j|ƒsc||jksc|j|j ƒrgt SWd||_XdS(N( RLRMRRR|R}t _exemptedR~R.RRK(RARtactiveR}((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyR‰ös  cCst|j|jƒ}t|kS(N(R/R.R€RK(RAtfilepathtexception_matches((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyR‹scOsH||jkrD|j|ƒ rD|j|tjj|ƒ||Žn|S(sCalled for path inputs(t write_opsR‰RƒRRR}(RARtRR+RR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRYs%cOsF|j|ƒ s |j|ƒ r<|j|||||Žn||fS(s?Called for path pairs like rename, link, and symlink operations(R‰Rƒ(RARtRPRQR+RR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRO s iÿcOsR|t@r9|j|ƒ r9|jd|||||Žntj|||||ŽS(sCalled for low-level os.open()sos.open(t WRITE_FLAGSR‰RƒR>RJ(RARHtflagsRŠR+RR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRJs(RRuRvtdicttfromkeysRt _EXCEPTIONSR%RƒRGRIRrR‰R‹RYRORJ(((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyR×s       s4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYicBseZdZd„ZRS(sEA setup script attempted to modify the filesystem outside the sandboxcCs d|jS(Ns³SandboxViolation: %s%r %s The package setup script has attempted to modify files on your system that are not within the EasyInstall build area, and has been aborted. This package cannot be safely installed by EasyInstall, and may not support alternate installation locations even if you run its setup script by hand. Please inform the package's author and the EasyInstall maintainers to find out if a fix or workaround is available.(R+(RA((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt__str__s (RRuRvR•(((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRs((*RRRtoperatorR RBt$org.python.modules.posix.PosixModuletpythonRtposixt PosixModuleR>RHRGt NameErrorRxRJRItdistutils.errorsRRtsetuptools.compatRRRt__all__R RR?RyR”twin32com.client.gencacheRzR't ImportErrorRtor_tsplittaRDRR(((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyts8<    1i @ +