ó õ^‚Rc@s?dZdgZdd„ZgZd„Zejeƒd„Zejeƒd„Zejeƒd„Z eje ƒd„Z eje ƒd„Z eje ƒd „Z eje ƒd „Z eje ƒd „Zejeƒd „Zejeƒd „Zejeƒd„Zejeƒd„Zd„ZdS(s<Recognize image file formats based on their first few bytes.twhatcCs¼|dkrmt|tƒr<t|dƒ}|jdƒ}qs|jƒ}|jdƒ}|j|ƒd}nd}z.x'tD]}|||ƒ}|r}|Sq}WWd|r·|jƒnXdS(Ntrbi ( tNonet isinstancet basestringtopentreadttelltseektteststclose(tfilethtftlocationttftres((s/usr/lib/python2.7/imghdr.pyR s"      cCs|dd!dkrdSdS(sJPEG data in JFIF formatii tJFIFtjpegN((R R ((s/usr/lib/python2.7/imghdr.pyt test_jpeg%scCs|dd!dkrdSdS(sJPEG data in Exif formatii tExifRN((R R ((s/usr/lib/python2.7/imghdr.pyt test_exif,scCs|d dkrdSdS(Nis‰PNG  tpng((R R ((s/usr/lib/python2.7/imghdr.pyttest_png3scCs|d dkrdSdS(sGIF ('87 and '89 variants)itGIF87atGIF89atgifN(RR((R R ((s/usr/lib/python2.7/imghdr.pyttest_gif9scCs|d dkrdSdS(s-TIFF (can be in Motorola or Intel byte order)itMMtIIttiffN(RR((R R ((s/usr/lib/python2.7/imghdr.pyt test_tiff@scCs|d dkrdSdS(sSGI image libraryisÚtrgbN((R R ((s/usr/lib/python2.7/imghdr.pyttest_rgbGscCsJt|ƒdkrF|ddkrF|ddkrF|ddkrFdSd S( sPBM (portable bitmap)iitPit14is tpbmN(tlen(R R ((s/usr/lib/python2.7/imghdr.pyttest_pbmNs0cCsJt|ƒdkrF|ddkrF|ddkrF|ddkrFdSd S( sPGM (portable graymap)iiR"it25is tpgmN(R%(R R ((s/usr/lib/python2.7/imghdr.pyttest_pgmVs0cCsJt|ƒdkrF|ddkrF|ddkrF|ddkrFdSd S( sPPM (portable pixmap)iiR"it36is tppmN(R%(R R ((s/usr/lib/python2.7/imghdr.pyttest_ppm^s0cCs|d dkrdSdS(sSun raster fileisY¦j•trastN((R R ((s/usr/lib/python2.7/imghdr.pyt test_rastfscCs$d}|t|ƒ |kr dSdS(sX bitmap (X10 or X11)s#define txbmN(R%(R R ts((s/usr/lib/python2.7/imghdr.pyttest_xbmmscCs|d dkrdSdS(NitBMtbmp((R R ((s/usr/lib/python2.7/imghdr.pyttest_bmpuscCs»ddl}d}|jdrH|jddkrH|jdd5d}ny>|jdrrt|jd|dƒntdg|dƒWn.tk r¶|jjdƒ|jdƒnXdS(Niÿÿÿÿiis-rit.s [Interrupted] (tsystargvttestalltKeyboardInterrupttstderrtwritetexit(R6t recursive((s/usr/lib/python2.7/imghdr.pyttests      cCsÚddl}ddl}x»|D]³}|jj|ƒr•|dG|sK|rdGHddl}|j|jj|dƒƒ}t||dƒqÒdGHq|dG|jjƒyt |ƒGHWqt k rÑdGHqXqWdS( Niÿÿÿÿs/:srecursing down:t*is*** directory (use -r) ***t:s*** not found ***( R6tostpathtisdirtglobtjoinR8tstdouttflushRtIOError(tlistR=ttoplevelR6RAtfilenameRDtnames((s/usr/lib/python2.7/imghdr.pyR8Žs"       N(t__doc__t__all__RRR RtappendRRRRR!R&R)R,R.R1R4R>R8(((s/usr/lib/python2.7/imghdr.pyts: