????

Your IP : 18.222.44.52


Current Path : /lib/python3.10/__pycache__/
Upload File :
Current File : //lib/python3.10/__pycache__/binhex.cpython-310.pyc

o

�*�g�9�@s
dZddlZddlZddlZddlZddlZddlZejdedd�gd�Z	Gdd�de
�ZdZd	Z
d
ZdZdZGd
d�d�Zdd�ZGdd�d�Zejdd��ZGdd�d�ZGdd�d�ZGdd�d�Zdd�ZGdd�d�ZGdd �d �ZGd!d"�d"�Zd#d$�ZdS)%z�Macintosh binhex compression/decompression.

easy interface:
binhex(inputfilename, outputfilename)
hexbin(inputfilename, outputfilename)
�Nzthe binhex module is deprecated�)�
stacklevel)�binhex�hexbin�Errorc@seZdZdS)rN)�__name__�
__module__�__qualname__�r
r
�/usr/lib/python3.10/binhex.pyr%sr�i��@��c@seZdZdd�ZdS)�FInfocCsd|_d|_d|_dS)Nz????r)�Type�Creator�Flags��selfr
r
r�__init__6s
zFInfo.__init__N)rrr	rr
r
r
rr5srcCs�t�}t�|d��}|�d�}d|vrd|_|�dd�|��}Wd�n1s*wYtj�	|�\}}|�
ddd�}|||dfS)	N�rbir�TEXTr�:�-r)r�io�open�readr�seek�tell�os�path�split�replace)�name�finfo�fp�data�dsize�dir�filer
r
r�getfileinfo;s

�r*c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�openrsrccG�dS�Nr
�r�argsr
r
rrI�zopenrsrc.__init__cGsdS�N�r
r.r
r
rrLr0z
openrsrc.readcGr,r-r
r.r
r
r�writeOr0zopenrsrc.writecCr,r-r
rr
r
r�closeRr0zopenrsrc.closeN)rrr	rrr3r4r
r
r
rr+Hs
r+ccsD�t���t�ddt�dVWd�dS1swYdS)N�ignore�)�warnings�catch_warnings�filterwarnings�DeprecationWarningr
r
r
r�_ignore_deprecation_warningXs
�
"�r;c@�0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�_Hqxcoderenginez(Write data to the coder in 3-byte chunkscCs ||_d|_d|_td|_dS)Nr2r)�ofpr&�hqxdata�LINELEN�linelen�rr>r
r
rrbsz_Hqxcoderengine.__init__cCs�|j||_t|j�}|dd}|jd|�}|j|d�|_|s$dSt��|jt�|�|_Wd�n1s;wY|�d�dS)N�r)r&�lenr;r?�binascii�b2a_hqx�_flush)rr&�datalen�todor
r
rr3hs
�z_Hqxcoderengine.writecCs�d}|t|j�|jkr-||j}|j�|j||�d�t|_|}|t|j�|jks|j|d�|_|rB|j�|jd�dSdS)Nr�
s:
)rDr?rAr>r3r@)r�force�first�lastr
r
rrGts
��z_Hqxcoderengine._flushcCs\|jr t��|jt�|j�|_Wd�n1swY|�d�|j��|`dS)Nr)r&r;r?rErFrGr>r4rr
r
rr4s�

z_Hqxcoderengine.closeN)rrr	�__doc__rr3rGr4r
r
r
rr=_sr=c@�(eZdZdZdd�Zdd�Zdd�ZdS)	�_Rlecoderenginez4Write data to the RLE-coder in suitably large chunkscC�||_d|_dSr1)r>r&rBr
r
rr��
z_Rlecoderengine.__init__cCsf|j||_t|j�tkrdSt��t�|j�}Wd�n1s#wY|j�|�d|_dSr1)r&rD�REASONABLY_LARGEr;rE�rlecode_hqxr>r3)rr&�rledatar
r
rr3�s�
z_Rlecoderengine.writecCsV|jr"t��t�|j�}Wd�n1swY|j�|�|j��|`dSr-)r&r;rErTr>r3r4)rrUr
r
rr4�s�
z_Rlecoderengine.closeN)rrr	rNrr3r4r
r
r
rrP�s
	rPc@�LeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�BinHexc
Cs�|\}}}}d}t|t�r|}t�|d�}d}z*|�d�t|�}	t|	�|_d|_|dur0t	�}||_
||_|�||�t
|_WdS|rK|���)NF�wbTs0(This file must be converted with BinHex 4.0)

:r)�
isinstance�strrrr3r=rPr>�crcr�dlen�rlen�
_writeinfo�_DID_HEADER�stater4)
r�name_finfo_dlen_rlenr>r#r$r\r]�close_on_error�ofname�hqxerr
r
rr�s*


zBinHex.__init__cCs�t|�}|dkrtd��t|g�|�d�d}|j|j}}t|t�r)|�d�}t|t�r3|�d�}||}t�	d|j
�}t�	d|j|j�}	||||	}
|�
|
�|��dS)N�?zFilename too longzlatin-1��>hz>ii)rDr�bytes�encoderrrYrZ�struct�packrr\r]�_write�	_writecrc)rr#r$�nl�d�tp�cr�d2�d3�d4�infor
r
rr^�s




zBinHex._writeinfocCs t�||j�|_|j�|�dSr-)rE�crc_hqxr[r>r3�rr&r
r
rrl�sz
BinHex._writecCs4|jdkrd}nd}|j�t�||j��d|_dS)Nrrgz>H)r[r>r3rjrk)r�fmtr
r
rrm�s


zBinHex._writecrccCs0|jtkr	td��|jt|�|_|�|�dS)NzWriting data at the wrong time)r`r_rr\rDrlrwr
r
rr3�s
zBinHex.writecCs,|jdkr
td|jf��|��t|_dS)NrzIncorrect data size, diff=%r)r\rr]rm�	_DID_DATAr`rr
r
r�
close_data�s

zBinHex.close_datacCsB|jtkr	|��|jtkrtd��|jt|�|_|�|�dS)Nz'Writing resource data at the wrong time)r`ryrzrr]rDrlrwr
r
r�
write_rsrc�s

zBinHex.write_rsrccCs�|jdurdSz2|jtkr|��|jtkrtd��|jdkr'td|jf��|��Wd|_|j}|`|��dSd|_|j}|`|��w)NzClose at the wrong timerz$Incorrect resource-datasize, diff=%r)r`ryrzrr]rmr>r4rBr
r
rr4�s$




�
zBinHex.closeN)rrr	rr^rlrmr3rzr{r4r
r
r
rrW�s
rWcCs�t|�}t||�}t�|d��}	|�d�}|sn|�|�q|��Wd�n1s-wYt|d�}	|�d�}|s@n|�|�q8|�	�|�	�dS)zEbinhex(infilename, outfilename): create binhex-encoded copy of a filerT��N)
r*rWrrrr3rzr+r{r4)�inp�outr$r>�ifpror
r
rr�s$


�
�


�rc@rO)	�_Hqxdecoderenginez*Read data via the decoder in 4-byte chunkscCrQ)Nr)r�eof�rrr
r
rrrRz_Hqxdecoderengine.__init__cCs�d}|}|dkrl|jr
|S|ddd}|j�|�}	zt��t�|�\}|_Wd�n1s3wYWntjyCYnw|j�d�}|sPtd	��||}q||}|t|�}|sh|jshtd	��|dks|S)
z&Read at least wtd bytes (or until EOF)r2rrrC�TNrzPremature EOF on binhex file)	r�rrr;rE�a2b_hqx�
IncompleterrD)r�totalwtd�decdata�wtdr&�
decdatacur�newdatar
r
rrs4
���
�z_Hqxdecoderengine.readcC�|j��dSr-�rr4rr
r
rr4:�z_Hqxdecoderengine.closeN)rrr	rNrrr4r
r
r
rr�s
!r�c@r<)�_RledecoderenginezRead data via the RLE-codercCs||_d|_d|_d|_dS)Nr2r)r�
pre_buffer�post_bufferr�r�r
r
rr@s
z_Rledecoderengine.__init__cCsD|t|j�kr|�|t|j��|jd|�}|j|d�|_|Sr-)rDr��_fill)rr��rvr
r
rrFs
z_Rledecoderengine.readcCs@|j|j�|d�|_|jjr2t��|jt�|j�|_Wd�n1s(wYd|_dSt|j�}|jdd�t	dt	krI|d}n,|jdd�t	krW|d}n|jdd�t	dkrg|d}n|jdd�t	krqn|d	}t��|jt�|jd|��|_Wd�n1s�wY|j|d�|_dS)
Nr�r2���rfrC���r���r)
r�rrr�r;r�rE�
rledecode_hqxrD�RUNCHAR)rr��markr
r
rr�Ms2
��




��z_Rledecoderengine._fillcCr�r-r�rr
r
rr4rr�z_Rledecoderengine.closeN)rrr	rNrrr�r4r
r
r
rr�=s%r�c@rV)�HexBincCsht|t�rt�|d�}	|�d�}|std��|dkrq|dkr!nqt|�}t|�|_d|_	|�
�dS)NrTrzNo binhex data foundrJ�:r)rYrZrrrrr�r�rr[�_readheader)rr�ch�hqxifpr
r
rrvs

�
zHexBin.__init__cCs |j�|�}t�||j�|_|Sr-)rrrErvr[)rrDr&r
r
r�_read�szHexBin._readcCsNt�d|j�d��dd@}|jd@|_||jkr"td|j|f��d|_dS)Nrgrri��zCRC error, computed %x, read %x)rj�unpackrrr[r)r�filecrcr
r
r�	_checkcrc�s
�
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���	rg�rz>l�)r��ordr�rjr�r\r]�FNamerrrrr_r`)rrD�fname�rest�type�creator�flagsr
r
rr��s


zHexBin._readheadercGst|jtkr	td��|r|d}t||j�}n|j}d}t|�|kr2||�|t|��}t|�|ks!|j||_|S)NzRead data at wrong timerr2)r`r_r�minr\rDr�)r�nr�r
r
rr�s
�zHexBin.readcCs6|jtkr	td��|jr|�|j�}|��t|_dS)Nzclose_data at wrong time)r`r_rr\r�r�ry�r�dummyr
r
rrz�s

zHexBin.close_datacGsZ|jtkr	|��|jtkrtd��|r|d}t||j�}n|j}|j||_|�|�S)Nz Read resource data at wrong timer)r`r_rzryrr�r]r�)rr�r
r
r�	read_rsrc�s


zHexBin.read_rsrccCsR|jdurdSz|jr|�|j�}|��Wd|_|j��dSd|_|j��wr-)r`r]r�r�rr4r�r
r
rr4�s

�zHexBin.closeN)rrr	rr�r�r�rrzr�r4r
r
r
rr�us

r�cCs�t|�}|j}|s|j}t�|d��}	|�d�}|sn|�|�qWd�n1s,wY|��|�d�}|rYt	|d�}|�|�	|�d�}|sOn|�|�qG|�
�|�
�dS)z6hexbin(infilename, outfilename) - Decode binhexed filerXTr|N)r�rr�rrrr3rzr�r+r4)r}r~rr$r>ror
r
rr�s0

��




�r)rNrE�
contextlibrrrjr7�warnr:�__all__�	Exceptionrr_ryrSr@r�rr*r+�contextmanagerr;r=rPrWrr�r�r�rr
r
r
r�<module>s<�

(^+8h

Page not found | The NCLEX Doctor

Page not found!

Sorry, this page is not available...