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



]6@s3ddlZddlZddlZddlZdddgZGdddeZdZdZdZ	dZ
d	ZGd
ddZdd
Z
GdddZGdddZGdddZGdddZddZGdddZGdddZGdddZddZdS)NbinhexhexbinErrorc@seZdZdS)rN)__name__
__module____qualname__rr+/opt/alt/python35/lib64/python3.5/binhex.pyrsi@sc@seZdZddZdS)FInfocCsd|_d|_d|_dS)Nz????r)TypeCreatorFlags)selfrrr	__init__0s		zFInfo.__init__N)rrrrrrrr	r/srcCst}tj|dG}|jd}d|krBd|_|jdd|j}WdQRXtjj	|\}}|j
ddd}|||dfS)	NrbirZTEXT:-r
)rioopenreadr
seektellospathsplitreplace)namefinfofpdataZdsizedirfilerrr	getfileinfo5s		r%c@s@eZdZddZddZddZddZd	S)
openrsrccGsdS)Nr)rargsrrr	rCszopenrsrc.__init__cGsdS)Nr)rr'rrr	rFsz
openrsrc.readcGsdS)Nr)rr'rrr	writeIszopenrsrc.writecCsdS)Nr)rrrr	closeLszopenrsrc.closeN)rrrrrr)r*rrrr	r&Bsr&c@s@eZdZddZddZddZddZd	S)
_HqxcoderenginecCs,||_d|_d|_td|_dS)Nr(r
)ofpr"hqxdataLINELENlinelen)rr,rrr	rRs			z_Hqxcoderengine.__init__cCs|j||_t|j}|dd}|jd|}|j|d|_|s`dS|jtj||_|jddS)Nr)r"lenr-binasciib2a_hqx_flush)rr"ZdatalenZtodorrr	r)Xsz_Hqxcoderengine.writecCsd}x]|t|j|jkre||j}|jj|j||dt|_|}q	W|j|d|_|r|jj|jddS)Nrs
s:
)r1r-r/r,r)r.)rforcefirstZlastrrr	r4cs
!	
z_Hqxcoderengine._flushcCsI|jr%|jtj|j|_|jd|jj|`dS)Nr
)r"r-r2r3r4r,r*)rrrr	r*ns
	

z_Hqxcoderengine.closeN)rrrrr)r4r*rrrr	r+Osr+c@s4eZdZddZddZddZdS)_RlecoderenginecCs||_d|_dS)Nr()r,r")rr,rrr	rxs	z_Rlecoderengine.__init__cCsX|j||_t|jtkr)dStj|j}|jj|d|_dS)Nr()r"r1REASONABLY_LARGEr2rlecode_hqxr,r))rr"rledatarrr	r)|sz_Rlecoderengine.writecCsB|jr+tj|j}|jj||jj|`dS)N)r"r2r9r,r)r*)rr:rrr	r*s
	
z_Rlecoderengine.closeN)rrrrr)r*rrrr	r7usr7c@speZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
dS)BinHexc
	Cs|\}}}}d}t|trE|}tj|d}d}yu|jdt|}	t|	|_d|_|dkrt	}||_
||_|j||t
|_Wn|r|jYnXdS)NFwbTs0(This file must be converted with BinHex 4.0)

:r)
isinstancestrrrr)r+r7r,crcrdlenrlen
_writeinfo_DID_HEADERstater*)
rZname_finfo_dlen_rlenr,rr r@rAZclose_on_errorZofnameZhqxerrrr	rs*
				

zBinHex.__init__cCst|}|dkr$tdt|g|jdd}|j|j}}t|tru|jd}t|tr|jd}||}tj	d|j
}tj	d|j|j}	||||	}
|j
|
|jdS)N?zFilename too longzlatin-1sz>hz>ii)r1rbytesencoder
rr=r>structpackrr@rA_write	_writecrc)rrr nldtpZcrZd2Zd3Zd4inforrr	rBs 

zBinHex._writeinfocCs,tj||j|_|jj|dS)N)r2crc_hqxr?r,r))rr"rrr	rJsz
BinHex._writecCsJ|jdkrd}nd}|jjtj||jd|_dS)Nrz>hz>H)r?r,r)rHrI)rfmtrrr	rKs
	zBinHex._writecrccCsB|jtkrtd|jt||_|j|dS)NzWriting data at the wrong time)rDrCrr@r1rJ)rr"rrr	r)szBinHex.writecCs<|jdkr%td|jf|jt|_dS)NrzIncorrect data size, diff=%r)r@rrArK	_DID_DATArD)rrrr	
close_datas
zBinHex.close_datacCs[|jtkr|j|jtkr4td|jt||_|j|dS)Nz'Writing resource data at the wrong time)rDrRrSrrAr1rJ)rr"rrr	
write_rsrcs
zBinHex.write_rsrccCs|jdkrdSzg|jtkr/|j|jtkrJtd|jdkrotd|jf|jWdd|_|j}|`|jXdS)NzClose at the wrong timerz$Incorrect resource-datasize, diff=%r)rDrRrSrrArKr,r*)rr,rrr	r*s
		zBinHex.closeN)rrrrrBrJrKr)rSrTr*rrrr	r;s
r;c
Cst|}t||}tj|d;}x'|jd}|sIP|j|q3W|jWdQRXt|d}x'|jd}|sP|j|q}W|j	|j	dS)Nri)
r%r;rrrr)rSr&rTr*)inpoutr r,ifprMrrr	rs"
c@s4eZdZddZddZddZdS)_HqxdecoderenginecCs||_d|_dS)Nr)rWeof)rrWrrr	rs	z_Hqxdecoderengine.__init__cCsd}|}x|dkr|jr(|S|ddd}|jj|}xgytj|\}|_PWntjk
rYnX|jjd}|std||}qOW||}|t|}|r|jrtdqW|S)Nr(rrr0r
zPremature EOF on binhex file)rYrWrr2Za2b_hqxZ
Incompleterr1)rZtotalwtdZdecdatawtdr"Z
decdatacurnewdatarrr	rs,	
z_Hqxdecoderengine.readcCs|jjdS)N)rWr*)rrrr	r*%sz_Hqxdecoderengine.closeN)rrrrrr*rrrr	rXs rXc@s@eZdZddZddZddZddZd	S)
_RledecoderenginecCs(||_d|_d|_d|_dS)Nr(r)rW
pre_bufferpost_bufferrY)rrWrrr	r+s			z_Rledecoderengine.__init__cCs\|t|jkr/|j|t|j|jd|}|j|d|_|S)N)r1r__fill)rr[rvrrr	r1s
z_Rledecoderengine.readcCsH|j|jj|d|_|jjrU|jtj|j|_d|_dSt|j}|jddtdtkr|d}nv|jddtkr|d}nP|jd	dtdkr|d}n&|jd
dtkrn
|d}|jtj|jd||_|j|d|_dS)NrZr(r0sr
rrdrc)	r^rWrrYr_r2Z
rledecode_hqxr1RUNCHAR)rr[markrrr	r`8s& 	
!



 z_Rledecoderengine._fillcCs|jjdS)N)rWr*)rrrr	r*[sz_Rledecoderengine.closeN)rrrrrr`r*rrrr	r](s#r]c@speZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
dS)HexBincCst|tr!tj|d}xA|jd}|sEtd|dkrTq$|dkr$Pq$Wt|}t||_d|_	|j
dS)Nrr
zNo binhex data founds
:r)r=r>rrrrrXr]rWr?_readheader)rrWZchZhqxifprrr	r_s	zHexBin.__init__cCs.|jj|}tj||j|_|S)N)rWrr2rPr?)rr1r"rrr	_readuszHexBin._readcCsktjd|jjddd@}|jd@|_||jkr^td|j|fd|_dS)Nz>hrrizCRC error, computed %x, read %x)rHunpackrWrr?r)rZfilecrcrrr		_checkcrczs&zHexBin._checkcrccCs	|jd}|jt|}|jd}|j|dd}|dd}tjd|ddd}tjd	|dd
d|_tjd	|d
dd|_||_t|_||j_	||j_
||j_t|_
dS)Nr
rZr	z>hrz>lrmrnrorprq)rjordrlrHrkr@rAFNamerrr
rrCrD)rr1ZfnameresttypeZcreatorflagsrrr	ris
 ##	zHexBin._readheadercGs|jtkrtd|r@|d}t||j}n	|j}d}x3t||kr||j|t|}qRW|j||_|S)NzRead data at wrong timerr()rDrCrminr@r1rj)rnrarrr	rs
	!zHexBin.readcCsM|jtkrtd|jr6|j|j}|jt|_dS)Nzclose_data at wrong time)rDrCrr@rjrlrR)rdummyrrr	rSs	
zHexBin.close_datacGs|jtkr|j|jtkr4td|rY|d}t||j}n	|j}|j||_|j|S)Nz Read resource data at wrong timer)rDrCrSrRrrwrArj)rrxrrr		read_rsrcs

	zHexBin.read_rsrccCsZ|jdkrdSz)|jr1|j|j}|jWdd|_|jjXdS)N)rDrArzrlrWr*)rryrrr	r*s		zHexBin.closeN)rrrrrjrlrirrSrzr*rrrr	rg^s

rgc
Cst|}|j}|s$|j}tj|d1}x'|jd}|sRP|j|q<WWdQRX|j|jd}|rt	|d}|j|x'|jd}|sP|j|qW|j
|j
dS)Nr<i)rgrrsrrrr)rSrzr&r*)rUrVrWr r,rMrrr	rs,		


)rrrHr2__all__	ExceptionrrCrRr8r.rerr%r&r+r7r;rrXr]rgrrrrr	<module>s*

&^*6h
Back to Directory File Manager