\dpdZddlmZddlZdgZejedddZgZdZ e e d Z e e d Z e e d Z e e d Ze ed Ze edZe edZe edZe edZe edZe edZe edZe edZdZedkr edSdS)z|}|d}||tD]+}|||}|r|c|r|SS, |r|n#|r|wwxYwdS)Nrb ) isinstancestrropenreadtellseektestsclose)filehflocationtfress ..\python\lib\imghdr.pyrrs A 9$h00 $t$$FF2JJ99;;IIbMM (###  B"Q((C  aggiiii   aggiii1aggiiii 4sBC8CC*cB|dddvrdS|dddkrdSdS)z1JPEG data with JFIF or Exif markers; and raw JPEG )sJFIFsExifjpegNs۩rrs r test_jpegr!*s<2w$$$v 2A2% % %v & %c4|drdSdS)NsPNG  png startswithr s rtest_pngr'3s&||())ur"c"|dddvrdSdS)zGIF ('87 and '89 variants)Nr)sGIF87asGIF89agifrr s rtest_gifr*9s#!u&&&u'&r"c"|dddvrdSdS)z-TIFF (can be in Motorola or Intel byte order)N)sMMsIItiffrr s r test_tiffr.@s"!uvr"c4|drdSdS)zSGI image librarysrgbNr%r s rtest_rgbr1G%||K  ur"ct|dkr/|dtdkr|ddvr|ddvrdSd Sd Sd Sd S) zPBM (portable bitmap)rrPs14r, pbmNlenordr s rtest_pbmr;N\ 1vv{{ !D ademm! 0B0Bu{mm0B0Br"ct|dkr/|dtdkr|ddvr|ddvrdSd Sd Sd Sd S) zPGM (portable graymap)rrr4r5s25r,r6pgmNr8r s rtest_pgmr?Vr<r"ct|dkr/|dtdkr|ddvr|ddvrdSd Sd Sd Sd S) zPPM (portable pixmap)rrr4r5s36r,r6ppmNr8r s rtest_ppmrB^r<r"c4|drdSdS)zSun raster filesYjrastNr%r s r test_rastrEfs&||'((vr"c4|drdSdS)zX bitmap (X10 or X11)s#define xbmNr%r s rtest_xbmrHmr2r"c4|drdSdS)NsBMbmpr%r s rtest_bmprKts%||Eur"cT|dr|dddkrdSdSdS)NsRIFF sWEBPwebpr%r s r test_webprPzs=||G1R4G!3!3v!3!3r"c4|drdSdS)Nsv/1exrr%r s rtest_exrrSs&||'((ur"cnddl}d}|jddr|jddkr |jdd=d} |jddr t|jdd|ddStdg|ddS#t$r3|jd|dYdSwxYw)Nrr5z-rr,.z [Interrupted] )sysargvtestallKeyboardInterruptstderrwriteexit)rV recursives rtestr^sJJJI x| t++ HQqSM  8ABB< ) CHQRRL)Q / / / / / SE9a ( ( ( ( (  ,---  s-A7#A779B43B4cFddl}ddl}|D]}|j|rt |dzd|s|rft dddl}||j||d}t||dt dt |dzd|j  t t|#t$rt d YwxYwdS) Nrz/: )endzrecursing down:*z*** directory (use -r) ***:z*** not found ***) rVospathisdirprintglobjoinescaperXstdoutflushrOSError)listr]toplevelrVrdfilenamerhnamess rrXrXsLJJJ III++ 7== " " + (T/s + + + + 4H 4'(((  "',,t{{8/D/Dc"J"JKKy!,,,,23333 (S.c * * * * J      +d8nn%%%% + + +)***** +++s$DDD__main__)N)__doc__rdrwarnings__all__ _deprecated__name__rrr!appendr'r*r.r1r;r?rBrErHrKrPrSr^rXrr"rryskBB (Xg....0  Y X  X  Y  X  X  X  X  Y  X X Y X   +++* zDFFFFFr"