U e5d@s.ddlmZdgZd$ddZgZddZeeddZeed d Zeed d Z ee d dZ ee ddZ ee ddZ ee ddZ ee ddZeeddZeeddZeeddZeeddZeedd Zd!d"Zed#kr*edS)%)PathLikewhatNcCsd}zp|dkrNt|ttfr2t|d}|d}n|}|d}||tD]}|||}|rR|WSqRW5|r|XdS)Nrb ) close isinstancestrropenreadtellseektests)filehflocationZtfresr/usr/lib64/python3.8/imghdr.pyr s       cCs|dddkrdSdS)N )sJFIFsExifZjpegrrrrrr test_jpeg%srcCs|drdSdS)NsPNG  Zpng startswithrrrrtest_png,s rcCs|dddkrdSdS)Nr)sGIF87asGIF89aZgifrrrrrtest_gif2srcCs|dddkrdSdS)N)sMMsIIZtiffrrrrr test_tiff9srcCs|drdSdS)NsZrgbrrrrrtest_rgb@s rcCs<t|dkr8|dtdkr8|ddkr8|ddkr8dSdS) NrPs14r Zpbmlenordrrrrtest_pbmGs   r'cCs<t|dkr8|dtdkr8|ddkr8|ddkr8dSdS) Nr rr!r"s25rr#Zpgmr$rrrrtest_pgmOs   r(cCs<t|dkr8|dtdkr8|ddkr8|ddkr8dSdS) Nr rr!r"s36rr#Zppmr$rrrrtest_ppmWs   r)cCs|drdSdS)NsYjZrastrrrrr test_rast_s r*cCs|drdSdS)Ns#define Zxbmrrrrrtest_xbmfs r+cCs|drdSdS)NsBMZbmprrrrrtest_bmpms r,cCs"|dr|dddkrdSdS)NsRIFF sWEBPZwebprrrrr test_webpssr/cCs|drdSdS)Nsv/1Zexrrrrrrtest_exrys r0cCsddl}d}|jddr8|jddkr8|jdd=d}z8|jddr`t|jdd|dntdg|dWn*tk r|jd|dYnXdS)Nrr"z-rr.z [Interrupted] )sysargvtestallKeyboardInterruptstderrwriteexit)r2 recursiverrrtests  r:c Csddl}ddl}|D]}|j|r~t|ddd|s<|rttdddl}||j||d}t||dqtdqt|ddd|j ztt |Wqt k rtd YqXqdS) Nrz/: )endzrecursing down:*z*** directory (use -r) ***:z*** not found ***) r2ospathisdirprintglobjoinescaper4stdoutflushrOSError)listr9Ztoplevelr2r?filenamerCnamesrrrr4s"   r4__main__)N)r?r__all__rr rappendrrrrr'r(r)r*r+r,r/r0r:r4__name__rrrrsB