Current File : //proc/3/task/3/cwd/proc/3/root/usr/lib/python2.7/site-packages/setuptools/sandbox.pyc
�
b-�Qc@s�ddlZddlZddlZddlZddlZejdkrfddljjj j
ZnejejZy
eZ
Wnek
r�dZ
nXeZddlmZddlmZddlmZmZmZdddd gZd
�Zddd��YZeed�r(ejgZngZy'dd
lm Z ej!e ��[ Wne"k
rhnXdefd��YZ#eej$gdj%�D]Z&e'ee&d�^q��Z(defd��YZ)dS(i����Ntjava(tDistutilsError(tworking_set(tbuiltinstexecfiletreducetAbstractSandboxtDirectorySandboxtSandboxViolationt run_setupc
s�tj�}tj}tj}tjjtjj���}tjj|d�}tjj|�sutj |�nt
j}tjj
�}tj�} z�|t
_tj|�yg�gt|�tj(tjjd|�tj�tjjd��t|�j�fd��Wn=tk
rXtj�d}
|
jrY|
jdrY�qYnXWdtj| �tjj|�gtjD](}||kr�|jd�r�|^q�}tttjj |��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.pyt<lambda>Cscstdi�d6dd6�S(Nssetup.pyt__file__t__main__t__name__(R((tsetup_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_tmptsave_modulestpr_statetvtmod_nametdel_modules((Rs6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyR 0sD
cBs�eZdZeZd�Zd�Zd�Zd�Zx<dddgD]+Z e
ee �rFee �e�e <qFqFWd'd�Zer�ed e�Zned
e�Zxlddd
d
dddddddddddddddgD]+Z e
ee �r�ee �e�e <q�q�Wd�Zx9ddgD]+Z e
ee �r-ee �e�e <q-q-Wd �Zx9d!d"gD]+Z e
ee �rree �e�e <qrqrWd#�Zd$�Zd%�Zd&�ZRS((sDWrap 'os' module and 'open()' builtin for virtualizing setup scriptscCsEgtt�D]+}|jd�r
t||�r
|^q
|_dS(Nt_(tdirt_osR.thasattrt_attrs(tselftname((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyR%fscCs1x*|jD]}tt|t||��q
WdS(N(R@tsetattrRtgetattr(RAtsourceRB((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt_copylscCs{zB|j|�tr%|jt_n|jt_t|_|�SWdt|_tr`tt_ntt_|jt �XdS(sRun 'func' under os sandboxingN(
RFt_fileRtfilet_opentopentTruet_activetFalseR>(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
ddd
g
�Zed�Zd�Ze rldd�Z ndd�Z
d�Zd�Zd�Z
d�Zd�Zdd�ZRS(s<Restrict operations to a single subdirectory - pseudo-chrootRJR]R^R_R`RaRbRcRdReRhRiRocCs�tjjtjj|��|_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.pyROs i�cOsR|t@r9|j|�r9|jd|||||�ntj|||||�S(sCalled for low-level os.open()sos.open(tWRITE_FLAGSR�R�R>RJ(RARHtflagsR�R+RR((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyRJs(RRuRvtdicttfromkeysR�t_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 sandboxcCsd|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.PosixModuletpythonRtposixtPosixModuleR>RHRGt NameErrorRxRJRItdistutils.errorsRRtsetuptools.compatRRRt__all__R RR?RyR�twin32com.client.gencacheRzR'tImportErrorRtor_tsplittaRDR�R(((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt<module>s8<
1i
@ +