B ] @sXddlZddlmZmZdZddZGdddejZeej eee ej d dS) N)ImageTiffImagePluginz0.1cCs|ddtjkS)N)olefileMAGIC)prefixr 4/tmp/pip-build-ktz6qwqq/Pillow/PIL/MicImagePlugin.py_accept!sr c@sPeZdZdZdZdZddZeddZedd Z d d Z d d Z ddZ dS) MicImageFileZMICzMicrosoft Image ComposerFcCsyt|j|_Wntk r.tdYnXg|_xJ|jD]<}|ddrB|ddddkrB|ddkrB|j|qBW|jstd|j|_ d|_ t |jdkrt j |_|ddS)Nz!not an MIC file; invalid OLE filerrz.ACIrz!not an MIC file; no image entries)rZ OleFileIOfpoleIOError SyntaxErrorimageslistdirappend_MicImageFile__fpframelenrZ CONTAINERcategoryseek)selfpathr r r _open/s,zMicImageFile._opencCs t|jS)N)rr)rr r r n_framesNszMicImageFile.n_framescCst|jdkS)Nr)rr)rr r r is_animatedRszMicImageFile.is_animatedcCs^||sdSy|j|}Wntk r8tdYnX|j||_tj |||_ dS)Nz no such frame) Z _seek_checkr IndexErrorEOFErrorrZ openstreamrr TiffImageFilerr)rrfilenamer r r rVs  zMicImageFile.seekcCs|jS)N)r)rr r r telldszMicImageFile.tellcCsBz4y|j|jkr|jWntk r0YnXWdd|_XdS)N)rrcloseAttributeError)rr r r _close__fpgs   zMicImageFile._close__fpN) __name__ __module__ __qualname__formatformat_descriptionZ!_close_exclusive_fp_after_loadingrpropertyrrrr#r&r r r r r )s  r z.mic) rrr __version__r r!r Z register_openr*Zregister_extensionr r r r s K