mς
­fIc           @   s)  d  Z  d g Z d d  Z g  Z d   Z e i e  d   Z e i e  d   Z e i e  d   Z	 e i e	  d   Z
 e i e
  d   Z e i e  d	   Z e i e  d
   Z e i e  d   Z e i e  d   Z e i e  d   Z e i e  d   Z d   Z d S(   s<   Recognize image file formats based on their first few bytes.t   whatc         C   sΠ   | d  j om t |   t d  j o" t |  d  } | i d  } q |  i   } |  i d  } |  i	 |  d  } n d  } z3 x, t
 D]$ } | | |  } | o | Sq q WWd  | o | i   n Xd  S(   Nt    t   rbi    (   t   ht   Nonet   typet   filet   opent   ft   readt   tellt   locationt   seekt   testst   tft   rest   close(   R   R   R   R   R   R   (    (    t#   /mit/python/lib/python2.4/imghdr.pyR    	   s&    
   c         C   s   |  d  d j o d Sn d S(   s   SGI image libraryi   s   Ϊt   rgbN(   R   (   R   R   (    (    R   t   test_rgb%   s     c         C   s   |  d  d j o d Sn d S(   s   GIF ('87 and '89 variants)i   t   GIF87at   GIF89at   gifN(   R   R   (   R   (   R   R   (    (    R   t   test_gif,   s     c         C   sR   t  |   d j o; |  d d j o* |  d d j o |  d d j o d Sn d	 S(
   s   PBM (portable bitmap)i   i    t   Pi   t   14i   s    	
t   pbmN(   t   lenR   (   R   R   (    (    R   t   test_pbm3   s     Fc         C   sR   t  |   d j o; |  d d j o* |  d d j o |  d d j o d Sn d	 S(
   s   PGM (portable graymap)i   i    R   i   t   25i   s    	
t   pgmN(   R   R   (   R   R   (    (    R   t   test_pgm;   s     Fc         C   sR   t  |   d j o; |  d d j o* |  d d j o |  d d j o d Sn d	 S(
   s   PPM (portable pixmap)i   i    R   i   t   36i   s    	
t   ppmN(   R   R   (   R   R   (    (    R   t   test_ppmC   s     Fc         C   s   |  d  d j o d Sn d S(   s-   TIFF (can be in Motorola or Intel byte order)i   t   MMt   IIt   tiffN(   R#   R$   (   R   (   R   R   (    (    R   t	   test_tiffK   s     c         C   s   |  d  d j o d Sn d S(   s   Sun raster filei   s   Y¦jt   rastN(   R   (   R   R   (    (    R   t	   test_rastR   s     c         C   s)   d } |  t |   | j o d Sn d S(   s   X bitmap (X10 or X11)s   #define t   xbmN(   t   sR   R   (   R   R   R*   (    (    R   t   test_xbmY   s     c         C   s    |  d d !d j o d Sn d S(   s   JPEG data in JFIF formati   i
   t   JFIFt   jpegN(   R   (   R   R   (    (    R   t	   test_jpega   s     c         C   s   |  d  d j o d Sn d  S(   Ni   t   BMt   bmp(   R   (   R   R   (    (    R   t   test_bmph   s    c         C   s   |  d  d j o d Sn d  S(   Ni   s   PNG

t   png(   R   (   R   R   (    (    R   t   test_pngn   s    c          C   sΏ   d  k  }  d } |  i d o+ |  i d d j o |  i d d 5d } n y@ |  i d o t |  i d | d  n t d g | d  Wn0 t j
 o$ |  i i d  |  i d  n Xd  S(   Ni    i   s   -ri   t   .s   
[Interrupted]
(   t   syst	   recursivet   argvt   testallt   KeyboardInterruptt   stderrt   writet   exit(   R5   R6   (    (    R   t   testx   s    	"
c         C   sΨ   d  k  } d  k } xΏ |  D]· } | i i |  o_ | d G| p | o@ d GHd  k } | i | i i	 | d   } t | | d  qΠ d GHq | d G| i i   y t |  GHWq t j
 o d GHq Xq Wd  S(   Ns   /:s   recursing down:t   *i    s   *** directory (use -r) ***t   :s   *** not found ***(   R5   t   ost   listt   filenamet   patht   isdirR6   t   toplevelt   globt   joint   namesR8   t   stdoutt   flushR    t   IOError(   RA   R6   RE   RF   RB   R5   RH   R@   (    (    R   R8      s$    		 		N(   t   __doc__t   __all__R   R    R   R   t   appendR   R   R   R"   R&   R(   R+   R.   R1   R3   R=   R8   (   R    R&   RM   R(   R"   R   R   R3   R8   R=   R1   R   R   R.   R+   R   (    (    R   t   ?   s6   													