o ?OgG.@s gdZdZddlmZddlZddlZddlZddlm Z m Z dZ dZ dZ Gdd d ejZ dd d ZdddZddZdS))BZ2File BZ2CompressorBZ2Decompressoropencompress decompressz%Nadeem Vawda )rN)rrc@seZdZ d)ddddZddZedd Zd d Zd d ZddZ ddZ d*ddZ d+ddZ d+ddZ ddZd+ddZd+ddZd d!Zd"d#Zejfd$d%Zd&d'Zd(S),rr  compresslevelcCs8 d|_d|_t|_d|krdkstdtd|dvr%d}t}n1|dvr3d}t}t||_n#|d vrAd }t}t||_n|d vrOd }t}t||_ntd |ft |t t t j frlt|||_d|_||_nt|dsvt|dr}||_||_ntd|jtkrtj|jttd}t||_dSd|_dS)NFrr z%compresslevel must be between 1 and 9)r rbr)wwbr)xxbr)aabrInvalid mode: %rTreadwritez6filename must be a str, bytes, file or PathLike object)Ztrailing_errorr)_fp_closefp _MODE_CLOSED_mode ValueError _MODE_READ _MODE_WRITEr _compressor isinstancestrbytesosPathLike _builtin_openhasattr TypeError _compressionZDecompressReaderrOSErrorioBufferedReader_buffer_pos)selffilenamemoder Z mode_coderawr3*/opt/alt/python310/lib64/python3.10/bz2.py__init__%sL      zBZ2File.__init__cCs |jtkrdSzQ|jtkr|jn|jtkr%|j|j d|_Wz&|j r>|jWd|_d|_ t|_d|_dSWd|_d|_ t|_d|_dSd|_d|_ t|_d|_wz$|j rq|jWd|_d|_ t|_d|_wWd|_d|_ t|_d|_wd|_d|_ t|_d|_w)NF) rrrr-closerrrr flushrr/r3r3r4r6asT        z BZ2File.closecCs |jtkSN)rrr8r3r3r4closedys zBZ2File.closedcCs ||jSr9)_check_not_closedrfilenor8r3r3r4r<~ zBZ2File.filenocCs |o |jSr9)readabler-seekabler8r3r3r4r?szBZ2File.seekablecC ||jtkSr9)r;rrr8r3r3r4r>r=zBZ2File.readablecCr@r9)r;rrr8r3r3r4writabler=zBZ2File.writablercC ||j|Sr9)_check_can_readr-peek)r/nr3r3r4rDs z BZ2File.peekcCrBr9)rCr-rr/sizer3r3r4rs z BZ2File.readcCs$ ||dkr tj}|j|S)Nr)rCr+DEFAULT_BUFFER_SIZEr-read1rGr3r3r4rJs  z BZ2File.read1cCrBr9)rCr-readinto)r/br3r3r4rKs zBZ2File.readintocC: t|tst|dstd|}||j|SN __index__zInteger argument expected)r!intr'r(rOrCr-readlinerGr3r3r4rQ   zBZ2File.readlinecCrMrN)r!rPr'r(rOrCr- readlinesrGr3r3r4rSrRzBZ2File.readlinescCsZ |t|ttfrt|}nt|}|j}|j|}|j ||j |7_ |Sr9) Z_check_can_writer!r# bytearraylen memoryviewnbytesr rrrr.)r/dataZlengthZ compressedr3r3r4rs   z BZ2File.writecCs tj||Sr9)r) BaseStream writelines)r/seqr3r3r4rZszBZ2File.writelinescCs ||j||Sr9)Z_check_can_seekr-seek)r/offsetwhencer3r3r4r\sz BZ2File.seekcCs$ ||jtkr|jS|jSr9)r;rrr-tellr.r8r3r3r4r_s   z BZ2File.tellN)r )r)rF)__name__ __module__ __qualname__r5r6propertyr:r<r?r>rArDrrJrKrQrSrrZr+SEEK_SETr\r_r3r3r3r4rs( <      rrr cCs d|vrd|vrtd|fn|durtd|dur!td|dur)td|dd}t|||d}d|vrGt|}t||||S|S) NtrLrz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary moderr )rreplacerr+ text_encoding TextIOWrapper)r0r1r encodingerrorsnewlineZbz_modeZ binary_filer3r3r4rs"  rcCs t|}|||Sr9)rrr7)rXr compr3r3r4r9srcCsd g}|r-t}z||}Wn ty|rYnw|||js(td|j}|sd|S)NzACompressed data ended before the end-of-stream marker was reached)rrr*appendeofrZ unused_datajoin)rXZresultsZdecompresr3r3r4rDs"   r)rr NNN)r )__all__ __author__builtinsrr&r+r$r)Z_bz2rrrrrrYrrrr3r3r3r4s$ v *