o ?Og;@s GdddZdS)c@sZeZdZdddZddZddZd d Zd d ZdddZddZ dddZ ddZ dS)ChunkTFc Csddl}d|_||_|rd}nd}||_|d|_t|jdkr#tz||d|dd|_ Wn |j y>tdw|rG|j d|_ d|_ z|j |_ Wnttfyad|_YdSwd|_dS) NF><LT)structclosedalignfileread chunknamelenEOFErrorZ unpack_from chunksizeerror size_readtelloffsetAttributeErrorOSErrorseekable)selfr r Z bigendianZ inclheaderrZstrflagr,/opt/alt/python310/lib64/python3.10/chunk.py__init__4s0     zChunk.__init__cC |jSN)r rrrrgetnameNz Chunk.getnamecCrr)rrrrrgetsizeRr z Chunk.getsizecCs(|jsz |Wd|_dSd|_wdS)NT)r skiprrrrcloseVs  z Chunk.closecCs|jrtddS)NI/O operation on closed fileF)r ValueErrorrrrrisatty]sz Chunk.isattyrcCsx |jrtd|jstd|dkr||j}n |dkr"||j}|dks+||jkr-t|j|j |d||_dS)Nr$z cannot seekr) r r%rrrr RuntimeErrorr seekr)rposwhencerrrr*bs   z Chunk.seekcCs|jrtd|jS)Nr$)r r%rrrrrrusz Chunk.tellcCs |jrtd|j|jkrdS|dkr|j|j}||j|jkr(|j|j}|j|}|jt||_|j|jkrR|jrR|jd@rR|jd}|jt||_|S)Nr$rr')r r%rrr r rr )rsizedatadummyrrrr zs&      z Chunk.readcCs |jrtd|jr7z"|j|j}|jr|jd@r|d}|j|d|j||_WdSty6Ynw|j|jkrWt d|j|j}| |}|sOt |j|jks=dSdS)Nr$r'i ) r r%rrrr r r*rminr r)rnr1rrrr"s(     z Chunk.skipN)TTF)r)r-) __name__ __module__ __qualname__rrr!r#r&r*rr r"rrrrr3s    rN)rrrrrs2