a DOg0@sgdZdZddlmZddlZddlZddlZddlm Z ddl m Z m Z dZ dZdZGd d d ejZdd dZdddZddZdS))BZ2File BZ2CompressorBZ2Decompressoropencompress decompressz%Nadeem Vawda )rN)RLock)rrc@seZdZd)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  compresslevelcCs8t|_d|_d|_t|_d|kr.dks8ntd|dvrJd}t}nb|dvrfd}t}t ||_ nF|d vrd }t}t ||_ n*|d vrd }t}t ||_ ntd |ft |t t tjfrt|||_d|_||_n*t|dst|dr||_||_ntd|jtkr.tj|jttd}t||_nd|_dS)NFr 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)Ztrailing_errorr)r_lock_fp_closefp _MODE_CLOSED_mode ValueError _MODE_READ _MODE_WRITEr _compressor isinstancestrbytesosPathLike _builtin_openhasattr TypeError _compressionZDecompressReaderrOSErrorioBufferedReader_buffer_pos)selffilenamemoderZ mode_coderawr5(/opt/alt/python39/lib64/python3.9/bz2.py__init__&sH     zBZ2File.__init__cCs|j|jtkr"WddSz|jtkr:|jn"|jtkr\|j|j d|_ Wz,|j rp|jWd|_d|_ t|_d|_qd|_d|_ t|_d|_0nJz,|j r|jWd|_d|_ t|_d|_nd|_d|_ t|_d|_00Wdn1s0YdS)NF) rrrr r/closer!rrr"flushrr1r5r5r6r8es>       z BZ2File.closecCs |jtkSN)rrr:r5r5r6closed~szBZ2File.closedcCs||jSr;)_check_not_closedrfilenor:r5r5r6r>szBZ2File.filenocCs|o|jSr;)readabler/seekabler:r5r5r6r@szBZ2File.seekablecCs||jtkSr;)r=rr r:r5r5r6r?szBZ2File.readablecCs||jtkSr;)r=rr!r:r5r5r6writableszBZ2File.writablercCs>|j$||j|WdS1s00YdSr;)r_check_can_readr/peek)r1nr5r5r6rCsz BZ2File.peekcCs>|j$||j|WdS1s00YdSr;)rrBr/rr1sizer5r5r6rsz BZ2File.readcCsL|j2||dkrtj}|j|WdS1s>0YdS)Nr)rrBr-DEFAULT_BUFFER_SIZEr/read1rFr5r5r6rIs z BZ2File.read1cCs>|j$||j|WdS1s00YdSr;)rrBr/readinto)r1br5r5r6rJszBZ2File.readintocCsbt|ts$t|dstd|}|j$||j|WdS1sT0YdSN __index__zInteger argument expected) r#intr)r*rMrrBr/readlinerFr5r5r6rOs  zBZ2File.readlinecCsbt|ts$t|dstd|}|j$||j|WdS1sT0YdSrL) r#rNr)r*rMrrBr/ readlinesrFr5r5r6rPs  zBZ2File.readlinescCs|jh|t|ttfr(t|}nt|}|j}|j |}|j ||j |7_ |WdS1st0YdSr;) rZ_check_can_writer#r% bytearraylen memoryviewnbytesr"rrrr0)r1dataZlengthZ compressedr5r5r6rs   z BZ2File.writecCs8|jtj||WdS1s*0YdSr;)rr+ BaseStream writelines)r1seqr5r5r6rWszBZ2File.writelinescCs@|j&||j||WdS1s20YdSr;)rZ_check_can_seekr/seek)r1offsetwhencer5r5r6rYsz BZ2File.seekcCsZ|j@||jtkr2|jWdS|jWdS1sL0YdSr;)rr=rr r/tellr0r:r5r5r6r\s  z BZ2File.tellN)r )r)rE)rE)rE)rE)__name__ __module__ __qualname__r7r8propertyr<r>r@r?rArCrrIrJrOrPrrWr-SEEK_SETrYr\r5r5r5r6rs$ ?     rrr cCsd|vr d|vrPtd|fn0|dur0td|dur@td|durPtd|dd}t|||d}d|vrt||||S|SdS) NtrKrz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary moderr )rreplacerr- TextIOWrapper)r2r3rencodingerrorsnewlineZbz_modeZ binary_filer5r5r6rs rcCst|}|||Sr;)rrr9)rUrcompr5r5r6rGsrcCsfg}|r\t}z||}Wnty:|r4Yq\nYn0|||jsTtd|j}qd|S)NzACompressed data ended before the end-of-stream marker was reached)rrr,appendeofrZ unused_datajoin)rUZresultsZdecompresr5r5r6rRs  r)rr NNN)r )__all__ __author__builtinsrr(r-r&r+Z threadingrZ_bz2rrrr r!rVrrrr5r5r5r6s$   )