U :e1@sddddddgZdZddlmZdd lZdd lZdd lZdd lZdd l m Z dd l m Z m Z dZd Zd ZeZGdddejZdddZdddZddZd S)BZ2File BZ2CompressorBZ2Decompressoropencompress decompressz%Nadeem Vawda )rN)RLock)rrc@seZdZdedfddZddZeddZd d Zd d Z d dZ ddZ d(ddZ d)ddZ d*ddZddZd+ddZd,ddZdd Zd!d"Zejfd#d$Zd%d&Zd'S)-rr cCsTt|_d|_d|_t|_|tk r2tjdt ddd|krFdksPnt d|dkrbd }t }nb|d kr~d }t }t ||_nF|d krd }t }t ||_n*|dkrd}t }t ||_nt d|ft|tttjfrt|||_d|_||_n.t|dst|dr||_||_ntd|jt krJtj|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)wwbr)xxbr)aabrInvalid mode: %rTreadwritez6filename must be a str, bytes, file or PathLike object)trailing_errorr)r_lock_fp_closefp _MODE_CLOSED_mode _sentinelwarningswarnDeprecationWarning ValueError _MODE_READ _MODE_WRITEr _compressor isinstancestrbytesosPathLike _builtin_openhasattr TypeError _compressionDecompressReaderrOSErrorioBufferedReader_buffer_pos)selffilenamemode buffering compresslevelZ mode_coderawr=(/usr/local/python38/lib/python3.8/bz2.py__init__)sT     zBZ2File.__init__cCs|j|jtkr W5QRdSz<|jtkr8|jn"|jtkrZ|j |j d|_ W5z|jrp|jW5d|_d|_t|_d|_XXW5QRXdS)NF) rrrrrr5closer%r&rr'flushr7r=r=r>r@ps      z BZ2File.closecCs |jtkSN)rrrBr=r=r>closedszBZ2File.closedcCs||jSrC)_check_not_closedrfilenorBr=r=r>rFszBZ2File.filenocCs|o|jSrC)readabler5seekablerBr=r=r>rHszBZ2File.seekablecCs||jtkSrC)rErr%rBr=r=r>rGszBZ2File.readablecCs||jtkSrC)rErr&rBr=r=r>writableszBZ2File.writablerc Cs2|j"||j|W5QRSQRXdSrC)r_check_can_readr5peek)r7nr=r=r>rKsz BZ2File.peekc Cs2|j"||j|W5QRSQRXdSrC)rrJr5rr7sizer=r=r>rsz BZ2File.readc Cs@|j0||dkrtj}|j|W5QRSQRXdS)Nr)rrJr3DEFAULT_BUFFER_SIZEr5read1rNr=r=r>rQs z BZ2File.read1c Cs2|j"||j|W5QRSQRXdSrC)rrJr5readinto)r7br=r=r>rRszBZ2File.readintoc CsVt|ts$t|dstd|}|j"||j|W5QRSQRXdSN __index__zInteger argument expected) r(intr.r/rUrrJr5readlinerNr=r=r>rWs  zBZ2File.readlinec CsVt|ts$t|dstd|}|j"||j|W5QRSQRXdSrT) r(rVr.r/rUrrJr5 readlinesrNr=r=r>rXs  zBZ2File.readlinesc CsX|jH||j|}|j||jt|7_t|W5QRSQRXdSrC)r_check_can_writer'rrrr6len)r7dataZ compressedr=r=r>rs   z BZ2File.writec Cs,|jtj||W5QRSQRXdSrC)rr0 BaseStream writelines)r7seqr=r=r>r]szBZ2File.writelinesc Cs4|j$||j||W5QRSQRXdSrC)r_check_can_seekr5seek)r7offsetwhencer=r=r>r`sz BZ2File.seekc CsL|j<||jtkr0|jW5QRS|jW5QRSQRXdSrC)rrErr%r5tellr6rBr=r=r>rcs  z BZ2File.tellN)r)rM)rM)rM)rM)__name__ __module__ __qualname__r r?r@propertyrDrFrHrGrIrKrrQrRrWrXrr]r3SEEK_SETr`rcr=r=r=r>rs$ G     rr cCsd|kr d|krPtd|fn0|dk r0td|dk r@td|dk rPtd|dd}t|||d}d|krt||||S|SdS) NtrSrz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary moder)r;)r$replacerr3 TextIOWrapper)r8r9r;encodingerrorsnewlineZbz_modeZ binary_filer=r=r>r!s cCst|}|||SrC)rrrA)r[r;compr=r=r>rJscCshg}|r^t}z||}Wn tk r<|r6Yq^nYnX|||jsVtd|j}qd|S)NzACompressed data ended before the end-of-stream marker was reached)rrr2appendeofr$ unused_datajoin)r[resultsZdecompresr=r=r>rUs )rr NNN)r )__all__ __author__builtinsrr-r3r+r!r0 threadingr_bz2rrrr%r&objectr r\rrrr=r=r=r>s4   )