o ?Og@s4dZddlmZdgZd%ddZgZddZeedd Zeed d Z ee d d Z ee ddZ ee ddZ ee ddZ ee ddZeeddZeeddZeeddZeeddZeeddZeed d!Zd"d#Zed$kredSdS)&z|W|r=|SSq)W|rF|dS|rO|ww)Nrb ) isinstancestrropenreadtellseektestsclose)filehflocationZtfresr-/opt/alt/python310/lib64/python3.10/imghdr.pyr s&      cCs|dddvr dSdS)z JPEG data in JFIF or Exif format )sJFIFsExifZjpegNrrrrrr test_jpeg%rcC|drdSdS)NsPNG  Zpng startswithrrrrtest_png, rcC|dddvr dSdS)zGIF ('87 and '89 variants)Nr)sGIF87asGIF89aZgifrrrrrtest_gif2rr cCr)z-TIFF (can be in Motorola or Intel byte order)N)sMMsIIZtiffrrrrr test_tiff9rr"cC|drdSdS)zSGI image librarysZrgbNrrrrrtest_rgb@ r$cCHt|dkr|dtdkr|ddvr |ddvr"dSd Sd Sd Sd S) zPBM (portable bitmap)rPs14r! ZpbmNlenordrrrrtest_pbmG ( r.cCr&) zPGM (portable graymap)r'rr(r)s25r!r*ZpgmNr+rrrrtest_pgmOr/r0cCr&) zPPM (portable pixmap)r'rr(r)s36r!r*ZppmNr+rrrrtest_ppmWr/r1cCr#)zSun raster filesYjZrastNrrrrr test_rast_r%r2cCr#)zX bitmap (X10 or X11)s#define ZxbmNrrrrrtest_xbmfr%r3cCr)NsBMZbmprrrrrtest_bmpmrr4cCs&|dr|dddkrdSdSdS)NsRIFF sWEBPZwebprrrrr test_webpssr7cCr)Nsv/1Zexrrrrrrtest_exryrr8cCsddl}d}|jddr|jddkr|jdd=d}z|jddr2t|jdd|dWdStdg|dWdStyP|jd|dYdSw)Nrr)z-rr!.z [Interrupted] )sysargvtestallKeyboardInterruptstderrwriteexit)r: recursiverrrtests   rBc Csddl}ddl}|D]W}|j|r?t|ddd|s|r:tdddl}||j||d}t||dq tdq t|ddd|j ztt |Wq t yatd Yq wdS) Nrz/: )endzrecursing down:*z*** directory (use -r) ***:z*** not found ***) r:ospathisdirprintglobjoinescaper<stdoutflushrOSError)listrAZtoplevelr:rGfilenamerKnamesrrrr<s&     r<__main__)N)__doc__rGr__all__rr rappendrr r"r$r.r0r1r2r3r4r7r8rBr<__name__rrrrsH