Fa@sdZdgZdddZgZddZejeddZejedd Zejed d Zejed d Z eje ddZ eje ddZ eje ddZ eje ddZ eje ddZejeddZejeddZejeddZejeddZd d!Zed"kredS)#zsr cCsPt|dkrL|dtdkrL|ddkrL|ddkrLdSd S) zPBM (portable bitmap)Ps14rs ZpbmN)lenord)r rrrrtest_pbmEs6r'cCsPt|dkrL|dtdkrL|ddkrL|ddkrLdSd S) zPGM (portable graymap)r!r"r#r$s25rs ZpgmN)r%r&)r rrrrtest_pgmMs6r(cCsPt|dkrL|dtdkrL|ddkrL|ddkrLdSd S) zPPM (portable pixmap)r!r"r#r$s36rs ZppmN)r%r&)r rrrrtest_ppmUs6r)cCs|jdrdSdS)zSun raster filesYjZrastN)r)r rrrr test_rast]sr*cCs|jdrdSdS)zX bitmap (X10 or X11)s#define ZxbmN)r)r rrrrtest_xbmdsr+cCs|jdrdSdS)NsBMZbmp)r)r rrrrtest_bmpksr,cCs-|jdr)|dddkr)dSdS)NsRIFF sWEBPZwebp)r)r rrrr test_webpqs%r/cCs|jdrdSdS)Nsv/1Zexr)r)r rrrrtest_exrwsr0c Csddl}d}|jddrN|jddkrN|jdd=d}yJ|jddrt|jdd|dntdg|dWn/tk r|jjd|jdYnXdS)Nr"r$z-rr.z [Interrupted] )sysargvtestallKeyboardInterruptstderrwriteexit)r2 recursiverrrtests &  r:c Csddl}ddl}x|D]}|jj|rt|ddd|sW|rtdddl}|j|jj|d}t||dqtdqt|ddd|jj ytt |Wqt k rtd YqXqWdS) Nr"z/:end zrecursing down:*z*** directory (use -r) ***:z*** not found ***) r2ospathisdirprintglobjoinr4stdoutflushrOSError)listr9Ztoplevelr2r?filenamerCnamesrrrr4s"         r4__main__)__doc____all__rr rappendrrrr r'r(r)r*r+r,r/r0r:r4__name__rrrrsB