3 \0 @sddddddgZdZddlmZdd lZdd lZdd lZdd lZydd l m Z Wn e k rpdd l m Z YnXdd l mZmZdZd Zd ZGdddejZdddZdddZddZd S)BZ2File BZ2CompressorBZ2Decompressoropencompress decompressz%Nadeem Vawda )rN)RLock)rrc@seZdZd(ddZddZedd Zd d Zd d ZddZ ddZ d)ddZ d+ddZ d-ddZ ddZd/ddZd1ddZd d!Zd"d#Zejfd$d%Zd&d'ZdS)2rrN cCsTt|_d|_d|_t|_|dk r.tjdtd|ko@dknsNt d|dkr`d}t }nb|dkr|d }t }t ||_ nF|dkrd }t }t ||_ n*|dkrd}t }t ||_ nt d|ft|tttjfrt|||_d|_||_n.t|dst|dr||_||_ntd|jt krJtj|jttd}tj||_nd|_dS)NFz)Use of 'buffering' argument is deprecatedr r z%compresslevel must be between 1 and 9r rbwwbxxbaabzInvalid mode: %rTreadwritez6filename must be a str, bytes, file or PathLike object)Ztrailing_errorr)r r r)rr)rr)rr)r_lock_fp_closefp _MODE_CLOSED_modewarningswarnDeprecationWarning ValueError _MODE_READ _MODE_WRITEr _compressor isinstancestrbytesosPathLike _builtin_openhasattr TypeError _compressionZDecompressReaderrOSErrorioBufferedReader_buffer_pos)selffilenamemode buffering compresslevelZ mode_coderawr7/usr/lib64/python3.6/bz2.py__init__+sL      zBZ2File.__init__cCs|j|jtkrdSz<|jtkr.|jjn"|jtkrP|jj|j j d|_ Wdz|j rf|jjWdd|_d|_ t|_d|_XXWdQRXdS)NF) rrrr r/closer!rrr"flushr)r1r7r7r8r:ps      z BZ2File.closecCs |jtkS)N)rr)r1r7r7r8closedszBZ2File.closedcCs|j|jjS)N)_check_not_closedrfileno)r1r7r7r8r>szBZ2File.filenocCs|jo|jjS)N)readabler/seekable)r1r7r7r8r@szBZ2File.seekablecCs|j|jtkS)N)r=rr )r1r7r7r8r?szBZ2File.readablecCs|j|jtkS)N)r=rr!)r1r7r7r8writableszBZ2File.writablerc Cs&|j|j|jj|SQRXdS)N)r_check_can_readr/peek)r1nr7r7r8rCsz BZ2File.peekr c Cs&|j|j|jj|SQRXdS)N)rrBr/r)r1sizer7r7r8rsz BZ2File.readc Cs4|j$|j|dkrtj}|jj|SQRXdS)Nr)rrBr-DEFAULT_BUFFER_SIZEr/read1)r1rEr7r7r8rGs z BZ2File.read1c Cs&|j|j|jj|SQRXdS)N)rrBr/readinto)r1br7r7r8rHszBZ2File.readintoc CsJt|ts$t|dstd|j}|j|j|jj|SQRXdS)N __index__zInteger argument expected) r#intr)r*rJrrBr/readline)r1rEr7r7r8rLs  zBZ2File.readlinec CsJt|ts$t|dstd|j}|j|j|jj|SQRXdS)NrJzInteger argument expected) r#rKr)r*rJrrBr/ readlines)r1rEr7r7r8rMs  zBZ2File.readlinesc CsL|j<|j|jj|}|jj||jt|7_t|SQRXdS)N)rZ_check_can_writer"rrrr0len)r1dataZ compressedr7r7r8rs   z BZ2File.writec Cs |jtjj||SQRXdS)N)rr+ BaseStream writelines)r1seqr7r7r8rQszBZ2File.writelinesc Cs(|j|j|jj||SQRXdS)N)rZ_check_can_seekr/seek)r1offsetwhencer7r7r8rSsz BZ2File.seekc Cs4|j$|j|jtkr$|jjS|jSQRXdS)N)rr=rr r/tellr0)r1r7r7r8rVs   z BZ2File.tell)r Nr )r)rWrW)rWrW)rWrW)rW)__name__ __module__ __qualname__r9r:propertyr<r>r@r?rArCrrGrHrLrMrrQr-SEEK_SETrSrVr7r7r7r8r s" E     rr cCsd|kr d|krPtd|fn0|dk r0td|dk r@td|dk rPtd|jdd}t|||d}d|krtj||||S|SdS) NtrIzInvalid mode: %rz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary moder )r5)rreplacerr- TextIOWrapper)r2r3r5encodingerrorsnewlineZbz_modeZ binary_filer7r7r8r!s cCst|}|j||jS)N)rrr;)rOr5compr7r7r8rJsc Csjg}xZ|r^t}y|j|}Wntk r<|r6PnYnX|j||jsVtd|j}qWdj|S)NzACompressed data ended before the end-of-stream marker was reached)rrr,appendeofrZ unused_datajoin)rOZresultsZdecompresr7r7r8rUs  )rr NNN)r )__all__ __author__builtinsrr(r-r&rr+Z threadingr ImportErrorZdummy_threadingZ_bz2rrrr r!rPrrrr7r7r7r8s,   (