U e5d1ã@s ddddddgZdZddlmZdd lZdd lZdd lZdd lZdd l m Z dd l m Z m Z dZd Zd ZeƒZGdd„dejƒZddd„Zddd„Zdd„Zd S)ÚBZ2FileÚ BZ2CompressorÚBZ2DecompressorÚopenÚcompressÚ decompressz%Nadeem Vawda é)rN)ÚRLock)rrééc@s°eZdZdedfdd„Zdd„Zedd„ƒZd d „Zd d „Z d d„Z dd„Z d(dd„Z d)dd„Z d*dd„Zdd„Zd+dd„Zd,dd„Zdd „Zd!d"„Zejfd#d$„Zd%d&„Zd'S)-rÚré cCsTtƒ|_d|_d|_t|_|tk r2tjdt dd�d|krFdksPnt dƒ‚|dkrbd }t }nb|d kr~d }t }t |ƒ|_nF|d kršd }t }t |ƒ|_n*|dkr¶d}t }t |ƒ|_nt d|fƒ‚t|tttjfƒrðt||ƒ|_d|_||_n.t|dƒ�st|dƒ�r||_||_ntdƒ‚|jt k�rJtj|jttd�}t |¡|_nd|_dS)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__cCsž|j�Ž|jtkr W5QR£dSz<|jtkr8|j ¡n"|jtkrZ|j  |j   ¡¡d|_ W5z|jrp|j ¡W5d|_d|_t|_d|_XXW5QRXdS)NF) rrrrrr3Úcloser$r%rr&Úflush©r5r;r;r<r>ps      z BZ2File.closecCs |jtkS©N)rrr@r;r;r<Úclosed‰szBZ2File.closedcCs| ¡|j ¡SrA)Ú_check_not_closedrÚfilenor@r;r;r<rDŽszBZ2File.filenocCs| ¡o|j ¡SrA)Úreadabler3Úseekabler@r;r;r<rF“szBZ2File.seekablecCs| ¡|jtkSrA)rCrr$r@r;r;r<rE—szBZ2File.readablecCs| ¡|jtkSrA)rCrr%r@r;r;r<ÚwritableœszBZ2File.writablerc Cs2|j�"| ¡|j |¡W5QR£SQRXdSrA)rÚ_check_can_readr3Úpeek)r5Únr;r;r<rI¡sz BZ2File.peekéÿÿÿÿc Cs2|j�"| ¡|j |¡W5QR£SQRXdSrA)rrHr3r©r5Úsizer;r;r<r®sz BZ2File.readc Cs@|j�0| ¡|dkrtj}|j |¡W5QR£SQRXdS)Nr)rrHr1ÚDEFAULT_BUFFER_SIZEr3Úread1rLr;r;r<rO¸s z BZ2File.read1c Cs2|j�"| ¡|j |¡W5QR£SQRXdSrA)rrHr3Úreadinto)r5Úbr;r;r<rPÅszBZ2File.readintoc CsVt|tƒs$t|dƒstdƒ‚| ¡}|j�"| ¡|j |¡W5QR£SQRXdS©NÚ __index__zInteger argument expected) r'Úintr-r.rSrrHr3ÚreadlinerLr;r;r<rUÎs  zBZ2File.readlinec CsVt|tƒs$t|dƒstdƒ‚| ¡}|j�"| ¡|j |¡W5QR£SQRXdSrR) r'rTr-r.rSrrHr3Ú readlinesrLr;r;r<rVÝs  zBZ2File.readlinesc CsX|j�H| ¡|j |¡}|j |¡|jt|ƒ7_t|ƒW5QR£SQRXdSrA)rZ_check_can_writer&rrrr4Úlen)r5ÚdataZ compressedr;r;r<rìs   z BZ2File.writec Cs,|j�tj ||¡W5QR£SQRXdSrA)rr/Ú BaseStreamÚ writelines)r5Úseqr;r;r<rZúszBZ2File.writelinesc Cs4|j�$| ¡|j ||¡W5QR£SQRXdSrA)rZ_check_can_seekr3Úseek)r5ÚoffsetÚwhencer;r;r<r\sz BZ2File.seekc CsL|j�<| ¡|jtkr0|j ¡W5QR£S|jW5QR£SQRXdSrA)rrCrr$r3Útellr4r@r;r;r<r_s  z BZ2File.tellN)r)rK)rK)rK)rK)Ú__name__Ú __module__Ú __qualname__rr=r>ÚpropertyrBrDrFrErGrIrrOrPrUrVrrZr1ÚSEEK_SETr\r_r;r;r;r<rs$ G     rr cCsŠd|kr d|krPtd|fƒ‚n0|dk r0tdƒ‚|dk r@tdƒ‚|dk rPtdƒ‚| dd¡}t|||d�}d|kr‚t ||||¡S|SdS) NÚtrQrz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary moder)r9)r#Úreplacerr1Ú TextIOWrapper)r6r7r9ÚencodingÚerrorsÚnewlineZbz_modeZ binary_filer;r;r<r!s cCst|ƒ}| |¡| ¡SrA)rrr?)rXr9Úcompr;r;r<rJscCshg}|r^tƒ}z| |¡}Wn tk r<|r6Yq^n‚YnX| |¡|jsVtdƒ‚|j}qd |¡S)NzACompressed data ended before the end-of-stream marker was reachedó)rrr0ÚappendÚeofr#Z unused_dataÚjoin)rXZresultsZdecompÚresr;r;r<rUs )rr NNN)r )Ú__all__Ú __author__Úbuiltinsrr,r1r*r r/Z threadingrZ_bz2rrrr$r%ÚobjectrrYrrrr;r;r;r<Ús4ÿ  ÿ )