3 Õì2a1ã@sGdd„dƒZdS)c@sZeZdZddd„Zdd„Zdd„Zd d „Zd d „Zddd„Zdd„Z ddd„Z dd„Z dS)ÚChunkTFcCsÒddl}d|_||_|rd}nd}||_|jdƒ|_t|jƒdkrFt‚y |j|d|jdƒƒd|_ Wn|j k r€t‚YnX|r’|j d|_ d|_ y|jj ƒ|_ Wnttfk rÆd|_YnXd|_dS) NéFú>ú<éÚLéT)ÚstructÚclosedÚalignÚfileÚreadÚ chunknameÚlenÚEOFErrorÚ unpack_fromÚ chunksizeÚerrorÚ size_readÚtellÚoffsetÚAttributeErrorÚOSErrorÚseekable)Úselfr r Z bigendianZ inclheaderrZstrflag©rú*/opt/alt/python36/lib64/python3.6/chunk.pyÚ__init__4s,     zChunk.__init__cCs|jS)N)r )rrrrÚgetnameNsz Chunk.getnamecCs|jS)N)r)rrrrÚgetsizeRsz Chunk.getsizec Cs |jsz |jƒWdd|_XdS)NT)r Úskip)rrrrÚcloseVs z Chunk.closecCs|jrtdƒ‚dS)NzI/O operation on closed fileF)r Ú ValueError)rrrrÚisatty]sz Chunk.isattyrcCsv|jrtdƒ‚|jstdƒ‚|dkr0||j}n|dkrB||j}|dksT||jkrXt‚|jj|j |dƒ||_dS)NzI/O operation on closed filez cannot seekéér) r r!rrrrÚ RuntimeErrorr Úseekr)rÚposÚwhencerrrr&bs  z Chunk.seekcCs|jrtdƒ‚|jS)NzI/O operation on closed file)r r!r)rrrrrusz Chunk.tellr#cCs¦|jrtdƒ‚|j|jkrdS|dkr2|j|j}||j|jkrN|j|j}|jj|ƒ}|jt|ƒ|_|j|jkr¢|jr¢|jd@r¢|jjdƒ}|jt|ƒ|_|S)NzI/O operation on closed fileórr#)r r!rrr r rr )rÚsizeÚdataÚdummyrrrr zs        z Chunk.readc Cs¦|jrtdƒ‚|jrlyB|j|j}|jr:|jd@r:|d}|jj|dƒ|j||_dStk rjYnXx4|j|jkr t d|j|jƒ}|j |ƒ}|snt ‚qnWdS)NzI/O operation on closed filer#i ) r r!rrrr r r&rÚminr r)rÚnr,rrrr‘s"   z Chunk.skipN)TTF)réÿÿÿÿ)r/) Ú__name__Ú __module__Ú __qualname__rrrr r"r&rr rrrrrr3s   rN)rrrrrÚ3s