Viewing File: /usr/lib/python2.7/site-packages/setuptools/sandbox.pyo

ó
b-äQc@sÐddlZddlZddlZddlZddlZejdkrfddljjj	j
ZnejejZy
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'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}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.pyt<lambda>Cscstdiˆ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_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ƒZxlddd
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
ddd
g
ƒZed„Zd„Ze	rldd„Z	ndd„Z
d„Zd„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.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(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 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_tsplittaRDRR(((s6/usr/lib/python2.7/site-packages/setuptools/sandbox.pyt<module>s8<


	1i
@	+
Back to Directory File Manager