Ñò §ÚêLc @sÝdZddkZddkZddkZddkZddkZddgZddddd f\ZZZ Z Z ddf\Z Z d „Zd „Zd d d„Zdfd„ƒYZd„Zedjo eƒndS(s‘Functions that read and write gzipped files. The user of the file doesn't have to worry about the compression, but random access is not allowed.iÿÿÿÿNtGzipFiletopeniiiiicCs|itid|ƒƒdS(Ns(treprR)thextid(R,ts((s/usr/lib64/python2.6/gzip.pyt__repr__zscCs>||_tidƒd@|_d|_g|_d|_dS(NRlÿÿi(RR"tcrc32tcrctsizetwritebuftbufsize(R,R ((s/usr/lib64/python2.6/gzip.pyR!~s    cCsÓ|iidƒ|iidƒ|i}|idƒo|d }nd}|o t}n|iit|ƒƒt|ittiƒƒƒ|iidƒ|iidƒ|o|ii|dƒndS( Ns‹ss.gziýÿÿÿissÿt( R)RRtendswithtFNAMEtchrRtlongttime(R,tfnametflags((s/usr/lib64/python2.6/gzip.pyR+…s  cCs#tidƒd@|_d|_dS(NRlÿÿi(R"R8R9R:(R,((s/usr/lib64/python2.6/gzip.pyt _init_read•scCs”|iidƒ}|djo td‚nt|iidƒƒ}|djo td‚nt|iidƒƒ}|iidƒ|t@oLt|iidƒƒ}|dt|iidƒƒ}|ii|ƒn|t@o?x<to0|iidƒ}| p |d joPqëqëWn|t@o?x<to0|iidƒ}| p |d joPq5q5Wn|t@o|iidƒndS( Nis‹sNot a gzipped fileiisUnknown compression methodiiR=( R)R R(tordtFEXTRAR?RtFCOMMENTtFHCRC(R,tmagictmethodtflagtxlenR6((s/usr/lib64/python2.6/gzip.pyt_read_gzip_header™s4         cCsÍ|itjo"ddk}t|idƒ‚n|idjo td‚nt|ƒdjog|i t|ƒ|_ t i ||i ƒd@|_ |ii |ii|ƒƒ|it|ƒ7_ndS(Niÿÿÿÿs$write() on read-only GzipFile objects!write() on closed GzipFile objectilÿÿ(RR terrnoR(tEBADFR)Rt ValueErrortlenR:R"R8R9RR'R*(R,tdataRO((s/usr/lib64/python2.6/gzip.pyR»s  iÿÿÿÿc Csu|itjo"ddk}t|idƒ‚n|idjo|idjodSd}|djoYy6x/to'|i |ƒt |i |dƒ}qpWWq5t j o|i}q5Xnsy?x8||ijo'|i |ƒt |i |dƒ}qÉWWn0t j o$||ijo |i}q5nX|i | }|i ||_ |i||_|i|7_|S(Niÿÿÿÿs$read() on write-only GzipFile objectiRii(RRROR(RPRR)RRt_readtmintmax_read_chunktEOFErrorRR*(R,R:ROtreadsizetchunk((s/usr/lib64/python2.6/gzip.pyR Ès6      cCs?||i|_t|ƒ|i|_|it|ƒ8_dS(N(RRRRR*(R,tbuf((s/usr/lib64/python2.6/gzip.pyt_unreadèscCsv|idjo td‚n|ioŒ|iiƒ}|iiddƒ||iiƒjo td‚n|ii|ƒ|iƒ|iƒti ti ƒ|_ t |_n|ii |ƒ}|djo3|i iƒ}|iƒ|i|ƒtd‚n|i i |ƒ}|i|ƒ|i idjo;|iit|i iƒ ddƒ|iƒt|_ndS(Ns Reached EOFiiRii(R)RRWRttelltseekRERNR"t decompressobjR%t decompresstFalseR tflusht _read_eoft_add_read_datat unused_dataRRR(R,R:tposRZt uncompress((s/usr/lib64/python2.6/gzip.pyRTís0           $ cCs\ti||iƒd@|_|i||_|it|ƒ|_|it|ƒ|_dS(Nlÿÿ(R"R8R9RRRRR:(R,RS((s/usr/lib64/python2.6/gzip.pyRcscCs|iiddƒt|iƒ}t|iƒ}||ijo)tdt|ƒt|iƒfƒ‚n"||id@jo td‚ndS(NiøÿÿÿisCRC check failed %s != %slÿÿs!Incorrect length of data produced(R)R]R R9R(R4R:(R,R8tisize((s/usr/lib64/python2.6/gzip.pyRb%scCsº|idjodS|itjoP|ii|iiƒƒt|i|iƒt|i|i d@ƒd|_n|it jo d|_n|i o|i i ƒd|_ ndS(Nlÿÿ( R)RRR RR'RaRR9R:RRtclose(R,((s/usr/lib64/python2.6/gzip.pyRh4s    cCsNy)|idjo|idjodSWntj odSX|iƒdS(N(RRR)tAttributeErrorRh(R,((s/usr/lib64/python2.6/gzip.pyt__del__Cs cCsA|itjo-|ii|ii|ƒƒ|iiƒndS(N(RR R)RR'Ra(R,t zlib_mode((s/usr/lib64/python2.6/gzip.pyRaLscCs |iiƒS(s¥Invoke the underlying file object's fileno() method. This will raise AttributeError if the underlying file object doesn't support fileno(). (R)tfileno(R,((s/usr/lib64/python2.6/gzip.pyRlRscCstS(N(R`(R,((s/usr/lib64/python2.6/gzip.pytisattyZscCs|iS(N(R*(R,((s/usr/lib64/python2.6/gzip.pyR\]scCsX|itjotdƒ‚n|iidƒt|_d|_d|_d|_ dS(s[Return the uncompressed stream file position indicator to the beginning of the filesCan't rewind in write modeiRN( RRR(R)R]RRRRR*(R,((s/usr/lib64/python2.6/gzip.pytrewind`s   icCs3|o.|djo|i|}q5tdƒ‚n|itjor||ijotdƒ‚n||i}x)t|dƒD]}|iddƒqƒW|i|ddƒny|itjoh||ijo|iƒn||i}x%t|dƒD]}|i dƒqW|i |dƒndS(NisSeek from end not supportedsNegative seek in write modeiR=( R*RQRR R(trangeRRRnR (R,R*twhencetcountti((s/usr/lib64/python2.6/gzip.pyR]ks(   cCsS|djoti}|i}n|}g}xä|djoÖ|i|ƒ}|idƒ}||jp |djo!t|ƒ|jo|d}n|djp |djo/|i||d ƒ|i||dƒPn|i|ƒ|t|ƒ}t||dƒ}q2W||ijo t||iddƒ|_ndi |ƒS(Nis iÿÿÿÿiRii( tsystmaxintRR tfindRRtappendR[RUtjoin(R,R:RXtbufstcRr((s/usr/lib64/python2.6/gzip.pytreadlines*    -  cCst|djo ti}ng}xM|djo?|iƒ}|djoPn|i|ƒ|t|ƒ}q#W|S(NiR(RsRtRzRvRR(R,tsizehinttLtline((s/usr/lib64/python2.6/gzip.pyt readlines s      cCs"x|D]}|i|ƒqWdS(N(R(R,R|R}((s/usr/lib64/python2.6/gzip.pyt writelines®scCs|S(N((R,((s/usr/lib64/python2.6/gzip.pyt__iter__²scCs"|iƒ}|o|St‚dS(N(Rzt StopIteration(R,R}((s/usr/lib64/python2.6/gzip.pytnextµs Ni(i (#t__name__t __module__t__doc__RRRVR-tpropertyR R7R!R+RERNRR R[RTRcRbRhRjR"t Z_SYNC_FLUSHRaRlRmR\RnR]RzR~RR€R‚(((s/usr/lib64/python2.6/gzip.pyR#s<E     "  2            c CsÁtid}|o|ddj}|o|d}n|p dg}nxm|D]e}|oˆ|djo+tddddd tiƒ}ti}qF|d d jod Gt|ƒGHqTnt|dƒ}ti|d d ƒ}n^|djo+ti}tdddd d tiƒ}n&ti|dƒ}t|d d ƒ}x4to,|i dƒ}|pPn|i |ƒqIW|tij o|i ƒn|tij o|i ƒqTqTWdS(Niis-dt-R RRR R)iýÿÿÿs.gzsfilename doesn't end in .gz:twbi( RstargvRtstdintstdoutR3RRRR RRh(targsR_targtftgRY((s/usr/lib64/python2.6/gzip.pyt_test½s@      "t__main__(R…RRsRBR"Rt__all__tFTEXTRIRGR?RHRR RR RRR‘Rƒ(((s/usr/lib64/python2.6/gzip.pyts$   $   ÿ› &