%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/__pycache__/binhex.cpython-38.pyc

U

n©ßa‚6ã@sÞdZddlZddlZddlZddlZdddgZGdd„deƒZdZdZ	dZ
d	Zd
ZGdd„dƒZ
d
d„ZGdd„dƒZGdd„dƒZGdd„dƒZGdd„dƒZdd„ZGdd„dƒZGdd„dƒZGdd„dƒZdd„ZdS)z‰Macintosh binhex compression/decompression.

easy interface:
binhex(inputfilename, outputfilename)
hexbin(inputfilename, outputfilename)
éNÚbinhexÚhexbinÚErrorc@seZdZdS)rN)Ú__name__Ú
__module__Ú__qualname__©rrú"/usr/local/lib/python3.8/binhex.pyrséi€é@óc@seZdZdd„ZdS)ÚFInfocCsd|_d|_d|_dS)Nz????r)ÚTypeÚCreatorÚFlags©Úselfrrr	Ú__init__0szFInfo.__init__N)rrrrrrrr	r
/sr
c	Csttƒ}t |d¡2}| d¡}d|kr,d|_| dd¡| ¡}W5QRXtj 	|¡\}}| 
ddd¡}|||dfS)	NÚrbirZTEXTéú:ú-r
)r
ÚioÚopenÚreadrÚseekÚtellÚosÚpathÚsplitÚreplace)ÚnameÚfinfoÚfpÚdataZdsizeÚdirÚfilerrr	Úgetfileinfo5s
r'c@s,eZdZdd„Zdd„Zdd„Zdd„Zd	S)
ÚopenrsrccGsdS©Nr©rÚargsrrr	rCszopenrsrc.__init__cGsdS©Nórr*rrr	rFsz
openrsrc.readcGsdSr)rr*rrr	ÚwriteIszopenrsrc.writecCsdSr)rrrrr	ÚcloseLszopenrsrc.closeN)rrrrrr.r/rrrr	r(Bsr(c@s0eZdZdZdd„Zdd„Zdd„Zdd	„Zd
S)Ú_Hqxcoderenginez(Write data to the coder in 3-byte chunkscCs ||_d|_d|_td|_dS)Nr-r
)Úofpr$ÚhqxdataÚLINELENÚlinelen©rr1rrr	rRsz_Hqxcoderengine.__init__cCsh|j||_t|jƒ}|dd}|jd|…}|j|d…|_|sHdS|jt |¡|_| d¡dS)Nér)r$Úlenr2ÚbinasciiÚb2a_hqxÚ_flush)rr$ZdatalenZtodorrr	r.Xs
z_Hqxcoderengine.writecCsrd}|t|jƒ|jkrH||j}|j |j||…d¡t|_|}q|j|d…|_|rn|j |jd¡dS)Nró
s:
)r7r2r4r1r.r3)rÚforceÚfirstZlastrrr	r:cs
z_Hqxcoderengine._flushcCs6|jr|jt |j¡|_| d¡|j ¡|`dS)Nr
)r$r2r8r9r:r1r/rrrr	r/ns


z_Hqxcoderengine.closeN)rrrÚ__doc__rr.r:r/rrrr	r0Os
r0c@s(eZdZdZdd„Zdd„Zdd„ZdS)	Ú_Rlecoderenginez4Write data to the RLE-coder in suitably large chunkscCs||_d|_dSr,)r1r$r5rrr	rxsz_Rlecoderengine.__init__cCs@|j||_t|jƒtkrdSt |j¡}|j |¡d|_dSr,)r$r7ÚREASONABLY_LARGEr8Úrlecode_hqxr1r.)rr$Úrledatarrr	r.|sz_Rlecoderengine.writecCs0|jrt |j¡}|j |¡|j ¡|`dSr))r$r8rAr1r.r/)rrBrrr	r/„s

z_Rlecoderengine.closeN)rrrr>rr.r/rrrr	r?usr?c@sLeZdZdd„Zdd„Zdd„Zdd„Zd	d
„Zdd„Zd
d„Z	dd„Z
dS)ÚBinHexc
Cs |\}}}}d}t|tƒr.|}t |d¡}d}zR| d¡t|ƒ}	t|	ƒ|_d|_|dkr`t	ƒ}||_
||_| ||¡t
|_Wn|r”| ¡‚YnXdS)NFÚwbTs0(This file must be converted with BinHex 4.0)

:r)Ú
isinstanceÚstrrrr.r0r?r1Úcrcr
ÚdlenÚrlenÚ
_writeinfoÚ_DID_HEADERÚstater/)
rZname_finfo_dlen_rlenr1r!r"rHrIZclose_on_errorZofnameZhqxerrrr	rŒs*



zBinHex.__init__cCs´t|ƒ}|dkrtdƒ‚t|gƒ| d¡d}|j|j}}t|tƒrR| d¡}t|tƒrf| d¡}||}t 	d|j
¡}t 	d|j|j¡}	||||	}
| 
|
¡| ¡dS)Né?zFilename too longzlatin-1óú>hz>ii)r7rÚbytesÚencoderrrErFÚstructÚpackrrHrIÚ_writeÚ	_writecrc)rr!r"ÚnlÚdÚtpZcrZd2Zd3Zd4Úinforrr	rJ£s




zBinHex._writeinfocCs t ||j¡|_|j |¡dSr))r8Úcrc_hqxrGr1r.©rr$rrr	rT¶sz
BinHex._writecCs4|jdkrd}nd}|j t ||j¡¡d|_dS)NrrOz>H)rGr1r.rRrS)rÚfmtrrr	rUºs

zBinHex._writecrccCs0|jtkrtdƒ‚|jt|ƒ|_| |¡dS)NzWriting data at the wrong time)rLrKrrHr7rTr[rrr	r.Äs
zBinHex.writecCs,|jdkrtd|jfƒ‚| ¡t|_dS)NrzIncorrect data size, diff=%r)rHrrIrUÚ	_DID_DATArLrrrr	Ú
close_dataÊs
zBinHex.close_datacCsB|jtkr| ¡|jtkr$tdƒ‚|jt|ƒ|_| |¡dS)Nz'Writing resource data at the wrong time)rLr]r^rrIr7rTr[rrr	Ú
write_rsrcÐs

zBinHex.write_rsrccCsx|jdkrdSzJ|jtkr"| ¡|jtkr4tdƒ‚|jdkrNtd|jfƒ‚| ¡W5d|_|j}|`| ¡XdS)NzClose at the wrong timerz$Incorrect resource-datasize, diff=%r)rLr1r/r]r^rrIrUr5rrr	r/Øs



zBinHex.closeN)rrrrrJrTrUr.r^r_r/rrrr	rC‹s
rCc	Csˆt|ƒ}t||ƒ}t |d¡*}| d¡}|s0q<| |¡q | ¡W5QRXt|dƒ}| d¡}|shqt| |¡qX| 	¡| 	¡dS)zEbinhex(infilename, outfilename): create binhex-encoded copy of a fileréôN)
r'rCrrrr.r^r(r_r/)ÚinpÚoutr"r1ÚifprWrrr	rés



c@s(eZdZdZdd„Zdd„Zdd„ZdS)	Ú_Hqxdecoderenginez*Read data via the decoder in 4-byte chunkscCs||_d|_dS)Nr)rcÚeof©rrcrrr	rsz_Hqxdecoderengine.__init__cCs´d}|}|dkr°|jr|S|ddd}|j |¡}zt |¡\}|_WqˆWntjk
rdYnX|j d¡}|s~tdƒ‚||}q6||}|t|ƒ}|s|jstdƒ‚q|S)z&Read at least wtd bytes (or until EOF)r-rrr6ér
zPremature EOF on binhex file)rercrr8Za2b_hqxZ
Incompleterr7)rZtotalwtdZdecdataÚwtdr$Z
decdatacurÚnewdatarrr	rs*


z_Hqxdecoderengine.readcCs|j ¡dSr)©rcr/rrrr	r/%sz_Hqxdecoderengine.closeN)rrrr>rrr/rrrr	rdþs rdc@s0eZdZdZdd„Zdd„Zdd„Zdd	„Zd
S)Ú_RledecoderenginezRead data via the RLE-codercCs||_d|_d|_d|_dS)Nr-r)rcÚ
pre_bufferÚpost_bufferrerfrrr	r+sz_Rledecoderengine.__init__cCsD|t|jƒkr"| |t|jƒ¡|jd|…}|j|d…|_|Sr))r7rmÚ_fill)rrhÚrvrrr	r1s
z_Rledecoderengine.readcCsô|j|j |d¡|_|jjr>|jt |j¡|_d|_dSt|jƒ}|jdd…tdtkrl|d}nX|jdd…tkrˆ|d}n<|jdd…tdkr¨|d}n|jdd…tkr¼n|d	}|jt |jd|…¡|_|j|d…|_dS)
Nrgr-éýÿÿÿrNr6éÿÿÿÿréþÿÿÿr
)	rlrcrrermr8Z
rledecode_hqxr7ÚRUNCHAR)rrhZmarkrrr	rn8s*
ÿ



ÿz_Rledecoderengine._fillcCs|j ¡dSr)rjrrrr	r/[sz_Rledecoderengine.closeN)rrrr>rrrnr/rrrr	rk(s
#rkc@sLeZdZdd„Zdd„Zdd„Zdd„Zd	d
„Zdd„Zd
d„Z	dd„Z
dS)ÚHexBincCsft|tƒrt |d¡}| d¡}|s,tdƒ‚|dkr6q|dkrqBqt|ƒ}t|ƒ|_d|_	| 
¡dS)Nrr
zNo binhex data foundr;ó:r)rErFrrrrrdrkrcrGÚ_readheader)rrcZchZhqxifprrr	r_s


zHexBin.__init__cCs |j |¡}t ||j¡|_|Sr))rcrr8rZrG)rr7r$rrr	Ú_readuszHexBin._readcCsNt d|j d¡¡dd@}|jd@|_||jkrDtd|j|fƒ‚d|_dS)NrOrriÿÿzCRC error, computed %x, read %x)rRÚunpackrcrrGr)rZfilecrcrrr	Ú	_checkcrczs
ÿzHexBin._checkcrccCs¾| d¡}| t|ƒ¡}| d¡}| ¡|dd…}|dd…}t d|dd…¡d}t d|dd	…¡d|_t d|d	d…¡d|_||_tƒ|_||j_	||j_
||j_t|_
dS)
Nr
ééé	rOérz>lé)rwÚordryrRrxrHrIÚFNamer
rrrrKrL)rr7ZfnameÚrestÚtypeZcreatorÚflagsrrr	rv„s

zHexBin._readheadercGsj|jtkrtdƒ‚|r,|d}t||jƒ}n|j}d}t|ƒ|krZ|| |t|ƒ¡}q6|j||_|S)NzRead data at wrong timerr-)rLrKrÚminrHr7rw)rÚnrorrr	r˜s
zHexBin.readcCs6|jtkrtdƒ‚|jr$| |j¡}| ¡t|_dS)Nzclose_data at wrong time)rLrKrrHrwryr]©rÚdummyrrr	r^¦s
zHexBin.close_datacGsZ|jtkr| ¡|jtkr$tdƒ‚|r>|d}t||jƒ}n|j}|j||_| |¡S)Nz Read resource data at wrong timer)rLrKr^r]rr„rIrw)rr…rrr	Ú	read_rsrc®s

zHexBin.read_rsrccCsD|jdkrdSz|jr"| |j¡}| ¡W5d|_|j ¡XdSr))rLrcr/rIrˆryr†rrr	r/»s
zHexBin.closeN)rrrrrwryrvrr^rˆr/rrrr	rt^s

rtc	Cs¦t|ƒ}|j}|s|j}t |d¡"}| d¡}|s6qB| |¡q&W5QRX| ¡| d¡}|ršt	|dƒ}| |¡| d¡}|s†q’| |¡qv| 
¡| 
¡dS)z6hexbin(infilename, outfilename) - Decode binhexed filerDr`N)rtr
r€rrrr.r^rˆr(r/)rarbrcr"r1rWrrr	rÆs(




)r>rrrRr8Ú__all__Ú	ExceptionrrKr]r@r3rsr
r'r(r0r?rCrrdrkrtrrrrr	Ú<module>s,


&^*6h

Zerion Mini Shell 1.0