???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................
Yf                 @   s  d  Z  d g Z d d d  Z g  Z d d   Z e j e  d d   Z e j e  d d	   Z e j e  d
 d   Z e j e  d d   Z	 e j e	  d d   Z
 e j e
  d d   Z e j e  d d   Z e j e  d d   Z e j e  d d   Z e j e  d d   Z e j e  d d   Z e j e  d d   Z e j e  d d   Z d  d!   Z e d" k re   d S)#z<Recognize image file formats based on their first few bytes.whatNc          
   C   s   d  } z | d  k rm t  |  t  rE t |  d  } | j d  } n( |  j   } |  j d  } |  j |  x' t D] } | | |  } | rt | Sqt WWd  | r | j   Xd  S)Nrb    )
isinstancestropenreadtellseektestsclose)filehflocationZtfres r   +/opt/alt/python35/lib64/python3.5/imghdr.pyr   	   s      c             C   s   |  d d  d k r d Sd S)z JPEG data in JFIF or Exif format   
      JFIF   ExifZjpegN)r   r   r   )r   r   r   r   r   	test_jpeg#   s    r   c             C   s   |  j  d  r d Sd  S)Ns   PNG

Zpng)
startswith)r   r   r   r   r   test_png*   s    r   c             C   s   |  d d  d k r d Sd S)zGIF ('87 and '89 variants)Nr      GIF87a   GIF89aZgif)r   r   r   )r   r   r   r   r   test_gif0   s    r   c             C   s   |  d d  d k r d Sd S)z-TIFF (can be in Motorola or Intel byte order)N      MM   IIZtiff)r   r   r   )r   r   r   r   r   	test_tiff7   s    r    c             C   s   |  j  d  r d Sd S)zSGI image librarys   ZrgbN)r   )r   r   r   r   r   test_rgb>   s    r!   c             C   sP   t  |   d k rL |  d t d  k rL |  d d k rL |  d d k rL d Sd	 S)
zPBM (portable bitmap)          P   s   14r   s    	
ZpbmN)lenord)r   r   r   r   r   test_pbmE   s    6r(   c             C   sP   t  |   d k rL |  d t d  k rL |  d d k rL |  d d k rL d Sd	 S)
zPGM (portable graymap)r"   r#   r$   r%   s   25r   s    	
ZpgmN)r&   r'   )r   r   r   r   r   test_pgmM   s    6r)   c             C   sP   t  |   d k rL |  d t d  k rL |  d d k rL |  d d k rL d Sd	 S)
zPPM (portable pixmap)r"   r#   r$   r%   s   36r   s    	
ZppmN)r&   r'   )r   r   r   r   r   test_ppmU   s    6r*   c             C   s   |  j  d  r d Sd S)zSun raster files   YjZrastN)r   )r   r   r   r   r   	test_rast]   s    r+   c             C   s   |  j  d  r d Sd S)zX bitmap (X10 or X11)s   #define ZxbmN)r   )r   r   r   r   r   test_xbmd   s    r,   c             C   s   |  j  d  r d Sd  S)Ns   BMZbmp)r   )r   r   r   r   r   test_bmpk   s    r-   c             C   s-   |  j  d  r) |  d d  d k r) d Sd  S)Ns   RIFF      s   WEBPZwebp)r   )r   r   r   r   r   	test_webpq   s    %r0   c             C   s   |  j  d  r d Sd  S)Ns   v/1Zexr)r   )r   r   r   r   r   test_exrw   s    r1   c              C   s   d d  l  }  d } |  j d d   rN |  j d d k rN |  j d d  =d } yJ |  j d d   r t |  j d d   | d  n t d g | d  Wn/ t k
 r |  j j d  |  j d  Yn Xd  S)Nr#   r%   z-rr   .z
[Interrupted]
)sysargvtestallKeyboardInterruptstderrwriteexit)r3   	recursiver   r   r   test   s    & r;   c             C   s  d d  l  } d d  l } x |  D] } | j j |  r t | d d d | sW | r t d  d d  l } | j | j j | d   } t | | d  q t d  q t | d d d | j j	   y t t
 |   Wq t k
 r t d	  Yq Xq Wd  S)
Nr#   z/:end zrecursing down:*z*** directory (use -r) ***:z*** not found ***)r3   ospathisdirprintglobjoinr5   stdoutflushr   OSError)listr:   Ztoplevelr3   r@   filenamerD   namesr   r   r   r5      s"    
r5   __main__)__doc____all__r   r
   r   appendr   r   r    r!   r(   r)   r*   r+   r,   r-   r0   r1   r;   r5   __name__r   r   r   r   <module>   sB   	