B 0c;@sGdddZdS)c@sZeZdZdddZddZddZd d Zd d ZdddZddZ dddZ ddZ dS)ChunkTFc Csddl}d|_||_|rd}nd}||_|d|_t|jdkrFty ||d|dd|_ Wn|j k rtdYnX|r|j d|_ d|_ y|j |_ Wnttfk rd|_YnXd|_dS) NF><LT)structclosedalignfileread chunknamelenEOFError unpack_from chunksizeerror size_readtelloffsetAttributeErrorOSErrorseekable)selfr r Z bigendianZ inclheaderrZstrflagr*/opt/alt/python37/lib64/python3.7/chunk.py__init__4s,     zChunk.__init__cCs|jS)N)r )rrrrgetnameNsz Chunk.getnamecCs|jS)N)r)rrrrgetsizeRsz Chunk.getsizecCs |jsz |Wdd|_XdS)NT)r skip)rrrrcloseVs z Chunk.closecCs|jrtddS)NzI/O operation on closed fileF)r ValueError)rrrrisatty]sz Chunk.isattyrcCsv|jrtd|jstd|dkr0||j}n|dkrB||j}|dksT||jkrXt|j|j |d||_dS)NzI/O operation on closed filez cannot seekr) r r!rrrr RuntimeErrorr seekr)rposwhencerrrr&bs  z Chunk.seekcCs|jrtd|jS)NzI/O operation on closed file)r r!r)rrrrrusz Chunk.tellcCs|jrtd|j|jkrdS|dkr2|j|j}||j|jkrN|j|j}|j|}|jt||_|j|jkr|jr|jd@r|jd}|jt||_|S)NzI/O operation on closed filerr#)r r!rrr r rr )rsizedatadummyrrrr zs        z Chunk.readcCs|jrtd|jrlyB|j|j}|jr:|jd@r:|d}|j|d|j||_dStk rjYnXx4|j|jkrt d|j|j}| |}|snt qnWdS)NzI/O operation on closed filer#i ) r r!rrrr r r&rminr r)rnr-rrrrs"   z Chunk.skipN)TTF)r)r)) __name__ __module__ __qualname__rrrr r"r&rr rrrrrr3s   rN)rrrrr3r*