U
e5d1 ã @ s d dddddgZ dZddlmZ dd lZdd lZdd lZdd lZdd
l m
Z
ddlmZm
Z
dZdZd
Zeƒ ZG dd „ d ejƒZddd„Zddd„Zdd„ Zd S )ÚBZ2FileÚ
BZ2CompressorÚBZ2DecompressorÚopenÚcompressÚ
decompressz%Nadeem Vawda é )r N)ÚRLock)r r é é c @ s° e Zd Zdedfdd„Zdd„ Zedd„ ƒZd d
„ Zdd„ Z d
d„ Z
dd„ Zd(dd„Zd)dd„Z
d*dd„Zdd„ Zd+dd„Zd,dd„Zdd „ Zd!d"„ Zejfd#d$„Zd%d&„ Zd'S )-r Úré c C sT t ƒ | _d | _d| _t| _|tk r2tjdt dd� d| krFdksPn t
dƒ‚|dkrbd }t}nb|d
kr~d}t}t
|ƒ| _nF|dkršd
}t}t
|ƒ| _n*|dkr¶d}t}t
|ƒ| _nt
d|f ƒ‚t|tttjfƒrðt||ƒ| _d| _|| _n.t|dƒ�st|dƒ�r|| _|| _ntdƒ‚| jtk�rJtj| jttd�}t |¡| _nd| _d S )NFzGUse of 'buffering' argument is deprecated and ignored since Python 3.0.é )Ú
stacklevelr r z%compresslevel must be between 1 and 9)Ú r Úrbr )ÚwÚwbr )ÚxÚxbr )ÚaÚabr úInvalid mode: %rTÚreadÚwritez6filename must be a str, bytes, file or PathLike object)Ztrailing_errorr )r Ú_lockÚ_fpÚ_closefpÚ_MODE_CLOSEDÚ_modeÚ _sentinelÚwarningsÚwarnÚDeprecationWarningÚ
ValueErrorÚ
_MODE_READÚ_MODE_WRITEr Ú_compressorÚ
isinstanceÚstrÚbytesÚosÚPathLikeÚ
_builtin_openÚhasattrÚ TypeErrorÚ_compressionZDecompressReaderr ÚOSErrorÚioÚBufferedReaderÚ_bufferÚ_pos)ÚselfÚfilenameÚmodeÚ bufferingÚ
compresslevelZ mode_codeÚraw© r; ú/usr/lib64/python3.8/bz2.pyÚ__init__) sT ý ÿzBZ2File.__init__c C sž | j �Ž | jtkr W 5 Q R £ d S z<| jtkr8| j ¡ n"| jtkrZ| j | j
¡ ¡ d | _
W 5 z| jrp| j ¡ W 5 d | _d| _t| _d | _X X W 5 Q R X d S )NF)r r r r r r3 Úcloser$ r% r r&