MOON
Server: Apache/2.2.34 (Unix) mod_ssl/2.2.34 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 FrontPage/5.0.2.2635
System: Linux server.asjudinet.com 2.6.32-042stab141.3 #1 SMP Fri Nov 15 22:45:34 MSK 2019 i686
User: asjudine (504)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/2/cwd/usr/lib/python2.4/Demo/pdist/FSProxy.pyc
mň
‚=5Dc@súdZdkZdkZdkZdkZdkZdkTdkZdkZeidjodk	Z	dZ
n
dZ	dZ
eiei
fZdfd„ƒYZdeeifd	„ƒYZd
eifd„ƒYZd„Zed
joeƒndS(sßFile System Proxy.

Provide an OS-neutral view on a file system, locally or remotely.
The functionality is geared towards implementing some sort of
rdist-like utility between a Mac and a UNIX system.

The module defines three classes:

FSProxyLocal  -- used for local access
FSProxyServer -- used on the server side of remote access
FSProxyClient -- used on the client side of remote access

The remote classes are instantiated with an IP address and an optional
verbosity flag.
N(t*tmacii˙tFSProxyLocalcBsŹtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d	„Z
d
„Zd„Zdd„Zdd
„Zdd„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Zdd„Zdd„Zdd„Zdd„Z d„Z!dd „Z"dd!„Z#dd"„Z$dd#„Z%dd$„Z&d%d&d'„Z'd(„Z(d%d)„Z)d*„Z*d+„Z+RS(,NcCs#g|_dg|iƒ|_dS(Ns*.pyc(tselft	_dirstackt_readignoret_ignore(R((t(/usr/lib/python2.4/Demo/pdist/FSProxy.pyt__init__&s	cCs x|io|iƒqWdS(N(RRtback(R((Rt_close*s
cCsÎ|idƒ}yt|ƒ}WnLtj
o@|idƒ}yt|ƒ}Wqntj
ogSqnXnXg}xI|iƒ}|pPn|ddjo|d }n|i	|ƒqwW|i
ƒ|S(Ntignoressynctree.ignorefilesii˙˙˙˙s
(Rt_hidetfiletopentftIOErrorRtreadlinetlinetappendtclose(RRRR
R((RR.s(
cCsEtidjo#|ddjo|ddjSn|ddjSdS(NRit(i˙˙˙˙t)t.(tostname(RR((Rt_hiddenAs#cCs(tidjod|Sn	d|SdS(NRs(%s)s.%s(RR(RR((RRGsc	CsĄt|ƒtjodSn|ddjodSn|tjodSn|i|ƒodSntii|ƒ\}}|p|odSnto•tii|ƒo~tii
|ƒojy:ti|ƒ}|iƒ\}}|djodSnWq(tij
o}dG|G|GHdSq(XqnnCtii|ƒodSndt|dƒidƒjodSnx,|iD]!}ti||ƒodSqxqxWd	S(
Nii˙˙˙˙t~tTEXTs***ttrbii(tlenRt
maxnamelent	skipnamesRRRtpathtsplittheadttailtmacfstexiststisdirtFSSpectfstGetCreatorTypetcttterrortmsgtislinkRtreadRtigntfnmatch(	RRR$R*R,R%R-R/R2((RtvisibleMs<
'


cCs.|i|ƒptidt|ƒ‚ndS(Nsprotected name %s(RR4RRR.trepr(RR((RtcheckdscCs>|i|ƒtii|ƒptidt|ƒ‚ndS(Nsnot a plain file %s(RR6RRR"tisfileR.R5(RR((Rt	checkfilehs
cCs
tiƒS(N(Rtgetcwd(R((RtpwdmscCsY|i|ƒtiƒ|if}ti|ƒ|ii	|ƒ|i|i
ƒ|_dS(N(RR6RRR9RtsavetchdirRRR(RRR;((Rtcdps


cCsQ|iptid‚n|id\}}ti|ƒ|id=||_dS(Nsempty directory stacki˙˙˙˙(RRRR.tdirRR<R(RRR>((RR	ws


cCsF|o|d„}t||ƒ}nt|i|ƒ}|iƒ|S(NcCsti||ƒS(N(R3Rtpat(RR?((Rtkeeps(R?R@tfiltertfilesRR4tsort(RRBR?R@((Rt_filters
cCs"titiƒ}|i||ƒS(N(RtlistdirtcurdirRBRRDR?(RR?RB((RtlistˆscCs7titiƒ}ttii|ƒ}|i||ƒS(N(
RRERFRBRAR"R7RRDR?(RR?RB((Rt	listfilesŒscCs7titiƒ}ttii|ƒ}|i||ƒS(N(
RRERFRBRAR"R(RRDR?(RR?RB((Rtlistsubdirs‘scCs |i|ƒotii|ƒS(N(RR4RRR"R'(RR((RR'–scCs |i|ƒotii|ƒS(N(RR4RRR"R((RR((RR(™scCs |i|ƒotii|ƒS(N(RR4RRR"R0(RR((RR0œscCs |i|ƒotii|ƒS(N(RR4RRR"R7(RR((RR7ŸscCsi|i|ƒdd}t|ƒ}tiƒ}x-|i	|ƒ}|pPn|i|ƒq2W|iƒS(Niii(
RR8Rt
BUFFERSIZERRtmd5tnewtsumR1tbuffertupdatetdigest(RRRRNRMRJ((RRM˘s

cCs|i|ƒti|ƒtS(N(RR8RRtstattST_SIZE(RR((RtsizeŽs
cCs'|i|ƒtiti|ƒtƒS(N(RR8Rttimet	localtimeRRQtST_MTIME(RR((Rtmtime˛s
cCsF|i|ƒti|ƒt}titi|ƒt	ƒ}||fS(N(RR8RRRQRRRSRTRURVRW(RRRWRS((RRQśs
cCsK|i|ƒ}ti|ƒt}titi|ƒt	ƒ}|||fS(N(RRMRRRQRRRSRTRURVRW(RRRWRMRS((RtinfoźscCs‡|djo|iƒ}ng}x]|D]U}y|i|||ƒfƒWq*ti	t
fj
o|i|dfƒq*Xq*W|S(N(RGtNoneRRHtresRRtfunctionRR.R(RR[RGRRZ((Rt_listÂs
cCs|i|i|ƒS(N(RR\RMRG(RRG((RtsumlistÍscCs|i|i|ƒS(N(RR\RQRG(RRG((RtstatlistĐscCs|i|i|ƒS(N(RR\RWRG(RRG((Rt	mtimelistÓscCs|i|i|ƒS(N(RR\RSRG(RRG((RtsizelistÖscCs|i|i|ƒS(N(RR\RXRG(RRG((RtinfolistŮscCsk|djo|iƒ}nh}xA|D]9}y||ƒ||<Wq*tit	fj
oq*Xq*W|S(N(
RGRYRRHtdictRR[RR.R(RR[RGRRb((Rt_dictÜs
	cCs|i|i|ƒS(N(RRbRMRG(RRG((RtsumdictçscCs|i|i|ƒS(N(RRbRSRG(RRG((RtsizedictęscCs|i|i|ƒS(N(RRbRWRG(RRG((Rt	mtimedictíscCs|i|i|ƒS(N(RRbRQRG(RRG((RtstatdictđscCs|i|i|ƒS(N(RRcRXRG(RRG((Rtinfodictósii˙˙˙˙cCsw|i|ƒt|ƒ}|i|ƒ|djo
d}n-|djo|i	ƒ}n|i	|ƒ}|i
ƒ|S(Nit(RR8RRRtseektoffsettlengthtdataR1R(RRRkRlRRm((RR1ös





cCs’|i|ƒtii|ƒoU|i|ƒ|d}yti|ƒWnti	j
onXti
||ƒnt|dƒ}|i
ƒdS(NRtw(RR6RRR"R'R8tbnametunlinkR.trenameRRR(RRRRo((Rtcreates


cCsD|i|ƒt|dƒ}|i|ƒ|i|ƒ|i	ƒdS(Nsr+(
RR8RRRRjRktwriteRmR(RRRmRkR((RRss



cCs!|i|ƒti|dƒdS(Ni˙(RR6RRtmkdir(RR((RRts
cCs|i|ƒti|ƒdS(N(RR6RRtrmdir(RR((RRus
(,t__name__t
__module__RR
RRRR4R6R8R:R=R	RYRDRGRHRIR'R(R0R7RMRSRWRQRXR\R]R^R_R`RaRcRdReRfRgRhR1RrRsRtRu(((RR$sR																							
	
	t
FSProxyServercBs)tZeid„Zd„Zd„ZRS(NcCs'ti|ƒtii|||ƒdS(N(RRRtservertServertaddresstverbose(RR{R|((RR"s
cCs!tii|ƒti|ƒdS(N(RyRzR
RR(R((RR
&scCs0tii|ƒx|io|iƒqWdS(N(RyRzt_serveRRR	(R((RR}*s
(RvRwRytVERBOSERR
R}(((RRx s	t
FSProxyClientcBstZeid„ZRS(NcCstii|||ƒdS(N(tclienttClientRRR{R|(RR{R|((RR2s(RvRwR€R~R(((RR0scCs`dk}dk}|ido|i|idƒ}nd}td|fƒ}|iƒdS(NiiRi(tstringtsystargvtatoitportRxtproxyt_serverloop(RƒR‡R‚R†((Rttest6s		t__main__(t__doc__RyR€RKRR3RQRTRR&R RYRFtpardirR!RRzRxRRR‰Rv(
RRxR R&RyR‰R€RTR3RRR!RK((Rt?s(								
ü