Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/ftplib.cpython-35.opt-2.pyc



]@sddlZddlZddlZddlZddlmZdgZdZdZdZGddde	Z
Gd	d
d
e
ZGddde
ZGd
dde
Z
Gddde
Ze
eefZdZdZGdddZyddlZWnek
r!dZYnBXejZGdddeZejde
eeejfZdaddZdaddZddZ ddZ!ddZ"d d!d"d#Z#d$d%Z$e%d&kre$dS)'N)_GLOBAL_DEFAULT_TIMEOUTFTPi c@seZdZdS)ErrorN)__name__
__module____qualname__r
r
+/opt/alt/python35/lib64/python3.5/ftplib.pyr:src@seZdZdS)error_replyN)rrr	r
r
r
rr;src@seZdZdS)
error_tempN)rrr	r
r
r
rr
<sr
c@seZdZdS)
error_permN)rrr	r
r
r
rr=src@seZdZdS)error_protoN)rrr	r
r
r
rr>srz
s
c@seZdZdZdZeZeZdZ	dZ
dZdZdZ
ddddedddZdd	Zd
dZdddZdd
dZddZddZeZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Z d)d*Z!d+d,Z"d-d.Z#d/d0Z$dd1d2Z%dd3d4Z&dddd5d6Z'd7dd8d9Z(dd:d;Z)d7ddd<d=Z*dd>d?Z+d@dAZ,dBdCZ-dDdEZ.dgdFdGZ/dHdIZ0dJdKZ1dLdMZ2dNdOZ3dPdQZ4dRdSZ5dTdUZ6dVdWZ7dXdYZ8dS)[rrNrzlatin-1cCsB||_||_|r>|j||r>|j|||dS)N)source_addresstimeoutconnectlogin)selfhostuserpasswdacctrrr
r
r__init__qs		
zFTP.__init__cCs|S)Nr
)rr
r
r	__enter__zsz
FTP.__enter__cGs]|jdk	rYz-y|jWnttfk
r:YnXWd|jdk	rX|jXdS)N)sockquitOSErrorEOFErrorclose)rargsr
r
r__exit__~s	zFTP.__exit__icCs|dkr||_|dkr*||_|dkr?||_|dk	rT||_tj|j|jf|jd|j|_|jj|_|jj	dd|j
|_|j|_
|j
S)Nrrirrencodingi)rportrrsocketcreate_connectionrfamilyafmakefiler$filegetrespwelcome)rrr%rrr
r
rrs				zFTP.connectcCs)|jr"td|j|j|jS)Nz	*welcome*)	debuggingprintsanitizer-)rr
r
r
getwelcomes	zFTP.getwelcomecCs
||_dS)N)r.)rlevelr
r
rset_debuglevelszFTP.set_debuglevelcCs
||_dS)N)
passiveserver)rvalr
r
rset_pasvszFTP.set_pasvcCs_|dddkrUt|jd}|ddd|d||d}t|S)Npass PASS z
*>r9r8)lenrstriprepr)rsir
r
rr0s*zFTP.sanitizecCssd|ksd|kr$td|t}|jdkrStd|j||jj|j|jdS)N

z4an illegal newline character should not be containedrz*put*)	
ValueErrorCRLFr.r/r0rsendallencoder$)rliner
r
rputlines
zFTP.putlinecCs0|jrtd|j||j|dS)Nz*cmd*)r.r/r0rG)rrFr
r
rputcmds	z
FTP.putcmdcCs|jj|jd}t||jkrAtd|j|jdkrftd|j||srt|ddt	kr|dd}n&|ddt	kr|dd}|S)	Nrzgot more than %d bytesz*get*rJrK)
r+readlinemaxliner;rr.r/r0rrC)rrFr
r
rgetlineszFTP.getlinecCs|j}|dddkr|dd}xK|j}|d|}|dd|kr5|dddkr5Pq5W|S)N-rA)rN)rrFcodeZnextliner
r
rgetmultilineszFTP.getmultilinecCs|j}|jr+td|j||dd|_|dd}|d	kr^|S|dkrvt||dkrt|t|dS)
Nz*resp*rOr12345>rUrVrT)rSr.r/r0Zlastrespr
rr)rrespcr
r
rr,s	zFTP.getrespcCs2|j}|dddkr.t||S)NrrU)r,r)rrYr
r
rvoidrespszFTP.voidrespcCstdt}|jdkr/td|j||jj|t|j}|dddkrpt||S)	NsABORrz*put urgent*rO426225226>r^r]r\)	B_CRLFr.r/r0rrDMSG_OOBrSr)rrFrYr
r
raborts
z	FTP.abortcCs|j||jS)N)rHr,)rcmdr
r
rsendcmds
zFTP.sendcmdcCs|j||jS)N)rHr[)rrbr
r
rvoidcmds
zFTP.voidcmdcCsY|jd}t|dt|dg}||}ddj|}|j|S)N.zPORT ,)splitr=joinrd)rrr%ZhbytesZpbytesbytesrbr
r
rsendports
 
zFTP.sendportcCsd}|jtjkrd}|jtjkr6d}|dkrNtddt||t|dg}ddj|}|j|S)NrrrIzunsupported address familyrzEPRT |)r)r&AF_INETAF_INET6rr=rird)rrr%r)Zfieldsrbr
r
rsendeprt#s!zFTP.sendeprtc
Cszd}d}xtjdd|jtjdtjD]}|\}}}}}y&tj|||}|j|WnDtk
r}	z$|	}|r|jd}w4WYdd}	~	XnXPq4W|dkr|dk	r|ntd|jd|j	d}
|j
j	d}|jtjkrE|j||
}n|j
||
}|jtk	rv|j|j|S)Nrz!getaddrinfo returns an empty listr)r&getaddrinfor)SOCK_STREAM
AI_PASSIVEbindrr listengetsocknamerrmrkrorr
settimeout)
rerrrresr)socktypeproto	canonnamesa_r%rrYr
r
rmakeport0s6.
	
zFTP.makeportcCsa|jtjkr0t|jd\}}n't|jd|jj\}}||fS)NPASVZEPSV)r)r&rmparse227rcparse229rgetpeername)rrr%r
r
rmakepasvPs'zFTP.makepasvc

Csd}|jr|j\}}tj||f|jd|j}yh|dk	re|jd||j|}|ddkr|j}|ddkrt|Wqs|j	YqsXn|j
}|dk	r|jd||j|}|ddkr|j}|ddkr;t||j\}}	|jtk	rl|j
|jWdQRX|dddkrt|}||fS)NrzREST %srrUrTrO150)r4rr&r'rrrcr,rr r~acceptrrvparse150)
rrbrestsizerr%connrYrZsockaddrr
r
rntransfercmdWs<	
zFTP.ntransfercmdcCs|j||dS)Nr)r)rrbrr
r
rtransfercmdszFTP.transfercmdcCs|sd}|sd}|s$d}|dkrF|dkrF|d}|jd|}|ddkr||jd|}|ddkr|jd	|}|dd
krt||S)NZ	anonymousrrQz
anonymous@zUSER rrVzPASS zACCT rU>rrQ)rcr)rrrrrYr
r
rrs 
z	FTP.logini c
Cs|jd|j||S}x$|j|}|s;P||q%Wtdk	rnt|trn|jWdQRX|jS)NzTYPE I)rdrrecv
_SSLSocket
isinstanceunwrapr[)rrbcallback	blocksizerrdatar
r
r
retrbinarys
zFTP.retrbinarycCsR|dkrt}|jd}|j|}|jdd|j}x|j|jd}t||jkrtd|j|j	dkrt
dt||sP|d	dtkr|dd
}n&|dddkr|dd}||qQWt
dk	r:t|t
r:|jWdQRXWdQRX|jS)
NzTYPE Ar#r$rzgot more than %d bytesrIz*retr*rArJrJrKrK)
print_linercrr*r$rLrMr;rr.r/r=rCrrrr[)rrbrrYrfprFr
r
r	retrliness*z
FTP.retrlinesc
Cs|jd|j||f}x7|j|}|s;P|j||r%||q%Wtdk	rt|tr|jWdQRX|jS)NzTYPE I)rdrreadrDrrrr[)rrbrrrrrbufr
r
r
storbinarys

zFTP.storbinaryc
Cs|jd|j|}x|j|jd}t||jkr`td|j|sgP|ddtkr|dtkr|dd}|t}|j||r"||q"Wtdk	rt	|tr|j
WdQRX|jS)NzTYPE Arzgot more than %d bytesrIrJrKrK)rdrrLrMr;rr_rDrrrr[)rrbrrrrr
r
r	storliness$


z
FTP.storlinescCsd|}|j|S)NzACCT )rd)rZpasswordrbr
r
rr%s
zFTP.acctcGsBd}x|D]}|d|}q
Wg}|j||j|S)NZNLST )rappend)rr!rbargfilesr
r
rnlst*s
zFTP.nlstcGsd}d}|ddrSt|dtdkrS|dd|d}}x"|D]}|rZ|d|}qZW|j||dS)	NLISTrrrrKrKrKrK)typer)rr!rbfuncrr
r
rdir3s,
zFTP.dirc
cs|r$|jddj|d|r7d|}nd}g}|j||jx|D]}|jtjd\}}}i}	xI|ddjdD].}
|
jd\}}}||	|j<qW||	fVq]WdS)	Nz
OPTS MLST ;zMLSD %sZMLSDrr=rK)	rcrirrr<rC	partitionrhlower)
rpathZfactsrblinesrFZfacts_foundr}nameentryZfactkeyvaluer
r
rmlsdBs

! zFTP.mlsdcCs@|jd|}|ddkr/t||jd|S)NzRNFR rrVzRNTO )rcrrd)rZfromnameZtonamerYr
r
rrename^sz
FTP.renamecCs=|jd|}|dddkr-|St|dS)NzDELE rO250200>rr)rcr)rfilenamerYr
r
rdeleteesz
FTP.deletecCs|dkrhy|jdSWqztk
rd}z%|jddddkrRWYdd}~XqzXn|dkrzd}d|}|j|S)	Nz..ZCDUPrrO500rrezCWD )rdrr!)rdirnamemsgrbr
r
rcwdms
zFTP.cwdcCsM|jd|}|dddkrI|ddj}t|SdS)NzSIZE rOZ213)rcstripint)rrrYr>r
r
rrzszFTP.sizecCs0|jd|}|jds&dSt|S)NzMKD 257r)rd
startswithparse257)rrrYr
r
rmkdszFTP.mkdcCs|jd|S)NzRMD )rd)rrr
r
rrmdszFTP.rmdcCs,|jd}|jds"dSt|S)NZPWDrr)rdrr)rrYr
r
rpwdszFTP.pwdcCs|jd}|j|S)NZQUIT)rdr )rrYr
r
rrs
zFTP.quitcCs\z,|j}d|_|dk	r+|jWd|j}d|_|dk	rW|jXdS)N)r+r r)rr+rr
r
rr s				z	FTP.closei)9rrr	r.rFTP_PORTr%MAXLINErMrr+r-r4r$rrrr"rr1r3debugr6r0rGrHrNrSr,r[rarcrdrkror~rrrrrrrrrrrrrrrrrrrrr r
r
r
rrKsh
	

 7#	
		c@seZdZejZdddddddeddd	ZddddddZdd	Z	d
dZ
dd
ZddZdddZ
ddZdS)FTP_TLSrNc

Cs|dk	r$|dk	r$td|dk	rH|dk	rHtd||_||_|dkrtj|jd|d|}||_d|_tj	|||||||	dS)Nz4context and keyfile arguments are mutually exclusivez5context and certfile arguments are mutually exclusivecertfilekeyfileF)
rBrrsslZ_create_stdlib_contextssl_versioncontext_prot_prr)
rrrrrrrrrrr
r
rrs					zFTP_TLS.__init__TcCs<|r&t|jtjr&|jtj||||S)N)rrr	SSLSocketauthrr)rrrrZsecurer
r
rrs
z
FTP_TLS.logincCst|jtjr!td|jtjkrE|jd}n|jd}|jj	|jd|j
|_|jjddd|j|_
|S)NzAlready using TLSzAUTH TLSzAUTH SSLserver_hostnamemoder#r$)rrrrrBrPROTOCOL_SSLv23rdrwrap_socketrr*r$r+)rrYr
r
rrs!zFTP_TLS.authcCsFt|jtjs!td|jd}|jj|_|S)Nz
not using TLSZCCC)rrrrrBrdr)rrYr
r
rcccs
zFTP_TLS.ccccCs)|jd|jd}d|_|S)NzPBSZ 0zPROT PT)rdr)rrYr
r
rprot_ps
	zFTP_TLS.prot_pcCs|jd}d|_|S)NzPROT CF)rdr)rrYr
r
rprot_cs	zFTP_TLS.prot_ccCsItj|||\}}|jr?|jj|d|j}||fS)Nr)rrrrrr)rrbrrrr
r
rrs
	zFTP_TLS.ntransfercmdcCsLdt}|jj||j}|dddkrHt||S)NsABORrOr\r]r^>r^r\r])r_rrDrSr)rrFrYr
r
rra!s
z
FTP_TLS.abort)rrr	rrrrrrrrrrrrar
r
r
rrs!	
rcCs|dddkr"t|tdkrVddl}|jd|j|jBatj|}|sodSt|jdS)NrOrrz150 .* \((\d+) bytes\)r)	r_150_rerecompile
IGNORECASEASCIImatchrgroup)rYrmr
r
rr0srcCs|dddkr"t|tdkrOddl}|jd|jatj|}|spt||j}dj|dd}t	|dd>t	|d}||fS)	NrOZ227rz#(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)rerPr7)
r_227_rerrrsearchrgroupsrir)rYrrZnumbersrr%r
r
rrDs"rcCs|dddkr"t||jd}|dkrIt||jd|d}|dkrwt|||d||dkrt|||d|j||d}t|dkrt||d}t|d}||fS)NrOZ229(r)rr7)rfindrrhr;r)rYZpeerleftrightpartsrr%r
r
rrXs %
rcCs|dddkr"t||dddkr<dSd}d}t|}xa||kr||}|d}|dkr||ks||dkrP|d}||}qWW|S)NrOrr7z "rr")rr;)rYrr?nrZr
r
rrns 


rcCst|dS)N)r/)rFr
r
rrsrrIc	Cs|s|}d|}|j||j|t|jd\}}|j|||jd|}|dddkrt|jd|}|ddd	krt|j|jdS)
NzTYPE rzSTOR rO125rzRETR >rr>rr)rdrrcrkrr[)	sourceZ
sourcenametargetZ
targetnamerZ
sourcehostZ
sourceportZtreplyZsreplyr
r
rftpcps



rcCsnttjdkr/ttjtjdddl}d}d}x+tjddkrt|d}tjd=qJWtjddddkrtjddd}tjd=tjd}t|}|j	|d}}}y|j|}Wn.t
k
r*|dk	r&tjjdYnBXy|j
|\}}}Wn"tk
rktjjdYnX|j|||xtjddD]}	|	ddd	kr|j|	ddq|	dddkrd
}
|	ddr
|
d|	dd}
|j|
}q|	dkr?|j|jq|jd
|	tjjdqW|jdS)NrIrrz-dz-rrz5Could not open account file -- using anonymous login.z$No account -- using anonymous login.z-lZCWDrz-pzRETR i)r;sysargvr/test__doc__exitnetrcrr3rstderrwriteZauthenticatorsKeyErrorrrrcr6r4rstdoutr)rr.ZrcfilerZftpZuseridrrZnetrcobjr+rbrYr
r
rrsP	







	
r__main__)&osrr&warningsr__all__r`rr	Exceptionrrr
rrrrZ
all_errorsrCr_rrImportErrorrrrrZSSLErrorrrrrrrrrrrr
r
r
r<module>'sL	b
	x
9
Back to Directory File Manager