]$O@sRddlZddlZddlZddlZddlZddlZddlZddlZddddgZdddd d f\Z Z Z Z Z ddf\ZZd d dddd dZddZGdddZGdddejZGdddejZd ddZddZddZedkrNedS)NGzipFileopencompress decompressrb cCsd|kr.d|krvtd|fnH|dk rFtd|dk r^td|dk rvtd|jdd}t|ttfrt|||}nBt|dst|d rtd|||}n td d|krtj ||||S|SdS) NtbzInvalid mode: %rz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary modereadwritez1filename must be a str or bytes object, or a file) ValueErrorreplace isinstancestrbytesrhasattr TypeErrorio TextIOWrapper)filenamemode compresslevelencodingerrorsnewlineZgz_mode binary_filer")/opt/alt/python35/lib64/python3.5/gzip.pyrs$          cCs|jtjd|dS)Nzr?)rformatbuiltinsr myfileobjgetattrrrr startswithREADr _GzipReaderrBufferedReaderr+r;WRITE _init_writezlib compressobjDEFLATED MAX_WBITS DEF_MEM_LEVELr _write_mtimefileobj_write_gzip_header)r0rrrrPmtimerawr"r"r#r3{s<#             zGzipFile.__init__cCsYddl}|jdtd|jtkrR|jdddkrR|jdS|jS)Nrzuse the name attributerz.gz)warningswarnDeprecationWarningrrHr;)r0rVr"r"r#rs  ( zGzipFile.filenamecCs |jjjS)N)r+rS _last_mtime)r0r"r"r#rRszGzipFile.mtimecCs9t|j}d|dddtt|dS)Nz)reprrPhexid)r0sr"r"r#__repr__szGzipFile.__repr__cCsC||_tjd|_d|_g|_d|_d|_dS)Nr*r)r;rJcrc32crcr4Zwritebufbufsizeoffset)r0rr"r"r#rIs     zGzipFile._init_writec Cs7|jjd|jjdyVtjj|j}t|tsV|jd}|j dru|dd }Wnt k rd}YnXd}|rt }|jjt |jd|j }|dkrtj}t|jt||jjd|jjd |r3|jj|d dS) Nsszlatin-1s.gzrTr*rsssrU)rProspathbasenamer;rrencodeendswithUnicodeEncodeErrorFNAMEchrrOtimer(int)r0ZfnameflagsrRr"r"r#rQs,     zGzipFile._write_gzip_headercCs|j|jtkr7ddl}t|jd|jdkrRtdt|t rpt |}nt |}|j }|dkr|jj |jj||j|7_tj||j|_|j|7_|S)Nrz$write() on read-only GzipFile objectz!write() on closed GzipFile object)_check_not_closedrrHerrnoOSErrorEBADFrPrrrr, memoryviewnbytesrrr4rJrbrcre)r0datarrlengthr"r"r#rs       zGzipFile.writercCsG|j|jtkr7ddl}t|jd|jj|S)Nrz$read() on write-only GzipFile object)rqrrErrrsrtr+r)r0r4rrr"r"r#r s   z GzipFile.readcCs\|j|jtkr7ddl}t|jd|dkrLtj}|jj |S)Nrz%read1() on write-only GzipFile object) rqrrErrrsrtrDEFAULT_BUFFER_SIZEr+read1)r0r4rrr"r"r#rzs    zGzipFile.read1cCsG|j|jtkr7ddl}t|jd|jj|S)Nrz$peek() on write-only GzipFile object)rqrrErrrsrtr+peek)r0nrrr"r"r#r{!s   z GzipFile.peekcCs |jdkS)N)rP)r0r"r"r#closed(szGzipFile.closedc Cs|j}|dkrdSd|_zl|jtkrq|j|jjt||jt||jd@n|jt kr|j j Wd|j }|rd|_ |j XdS)Nl) rPrrHrrflushr(rcr4rEr+closerB)r0rPrBr"r"r#r,s     zGzipFile.closecCsF|j|jtkrB|jj|jj||jjdS)N)rqrrHrPrrr~)r0Z zlib_moder"r"r#r~?s zGzipFile.flushcCs |jjS)N)rPfileno)r0r"r"r#rFszGzipFile.filenocCs/|jtkrtd|jjddS)NzCan't rewind in write moder)rrErsr+r5)r0r"r"r#rewindNs zGzipFile.rewindcCs |jtkS)N)rrE)r0r"r"r#readableUszGzipFile.readablecCs |jtkS)N)rrH)r0r"r"r#writableXszGzipFile.writablecCsdS)NTr")r0r"r"r#r6[szGzipFile.seekablecCs|jtkr|tjkrI|tjkr=|j|}n td||jkrdtd||j}td}x%t |dD]}|j |qW|j t|dn,|jt kr|j |j j||S|jS)NzSeek from end not supportedzNegative seek in write modei)rrHrSEEK_SETSEEK_CURrerrsrrangerrErqr+r5)r0rewhencecountchunkir"r"r#r5^s      z GzipFile.seekcCs|j|jj|S)N)rqr+readline)r0r4r"r"r#rrs zGzipFile.readliner\r\r\)r7r8r9rBr3propertyrrRrarIrQrrrzr{r}rrJ Z_SYNC_FLUSHr~rrrrr6rrr5rr"r"r"r#rns, F           cseZdZfddZddZddZddZdd d Zd d ZddZ fddZ S)rFcs<tjt|tjdtj d|_d|_dS)NZwbitsT)superr3r)rJ decompressobjrM _new_memberrY)r0fp) __class__r"r#r3xs  z_GzipReader.__init__cCstjd|_d|_dS)Nr*r)rJrb_crc _stream_size)r0r"r"r# _init_readsz_GzipReader._init_readcCsg|jj|}xNt||krb|jj|t|}|sUtd||7}qW|S)NzACompressed file ended before the end-of-stream marker was reached)_fprr,EOFError)r0r|rwrr"r"r# _read_exacts z_GzipReader._read_exactcCs;|jjd}|dkr"dS|dkr>td|tjd|jd\}}|_|dkr}td|t@rtjd |jd\}|j||t@rx*|jjd }| s|d krPqW|t @r x*|jjd }| s|d krPqW|t @r7|jdd S) Nrr*FszNot a gzipped file (%r)zs&0    $+ )   &