
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \Ó  ã               @   s2  d Z ddlm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.é    )ÚPathLikeÚwhatNc          
   C   s„   d }zl|d krNt | ttfƒr2t| dƒ}|jdƒ}n| jƒ }| jdƒ}| j|ƒ xtD ]}|||ƒ}|rT|S qTW W d |r~|jƒ  X d S )NÚrbé    )	Ú
isinstanceÚstrr   ÚopenÚreadÚtellÚseekÚtestsÚclose)ÚfileÚhÚfÚlocationZtfÚres© r   ú/usr/lib64/python3.6/imghdr.pyr      s     




 
c             C   s   | dd… dkrdS d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S d S )Ns   ‰PNG

Zpng)Ú
startswith)r   r   r   r   r   Útest_png,   s    
r   c             C   s   | dd… dkrdS dS )zGIF ('87 and '89 variants)Nr   ó   GIF87aó   GIF89aZgif)r   r   r   )r   r   r   r   r   Útest_gif2   s    r   c             C   s   | dd… dkrdS dS )z-TIFF (can be in Motorola or Intel byte order)Né   ó   MMó   IIZtiff)r    r!   r   )r   r   r   r   r   Ú	test_tiff9   s    r"   c             C   s   | j dƒrdS dS )zSGI image librarys   ÚZrgbN)r   )r   r   r   r   r   Útest_rgb@   s    
r#   c             C   s<   t | ƒdkr8| d tdƒkr8| d dkr8| d dkr8dS d	S )
zPBM (portable bitmap)é   r   ó   Pé   s   14r   s    	
ZpbmN)ÚlenÚord)r   r   r   r   r   Útest_pbmG   s    (r)   c             C   s<   t | ƒdkr8| d tdƒkr8| d dkr8| d dkr8dS d	S )
zPGM (portable graymap)r$   r   r%   r&   s   25r   s    	
ZpgmN)r'   r(   )r   r   r   r   r   Útest_pgmO   s    (r*   c             C   s<   t | ƒdkr8| d tdƒkr8| d dkr8| d dkr8dS d	S )
zPPM (portable pixmap)r$   r   r%   r&   s   36r   s    	
ZppmN)r'   r(   )r   r   r   r   r   Útest_ppmW   s    (r+   c             C   s   | j dƒrdS dS )zSun raster files   Y¦j•ZrastN)r   )r   r   r   r   r   Ú	test_rast_   s    
r,   c             C   s   | j dƒrdS dS )zX bitmap (X10 or X11)s   #define ZxbmN)r   )r   r   r   r   r   Útest_xbmf   s    
r-   c             C   s   | j dƒrdS d S )Ns   BMZbmp)r   )r   r   r   r   r   Útest_bmpm   s    
r.   c             C   s"   | j dƒr| dd… dkrdS d S )Ns   RIFFé   é   s   WEBPZwebp)r   )r   r   r   r   r   Ú	test_webps   s    r1   c             C   s   | j dƒrdS d S )Ns   v/1Zexr)r   )r   r   r   r   r   Útest_exry   s    
r2   c              C   s    dd l } d}| jdd … r8| jd dkr8| jdd…= d}y8| jdd … r`t| jdd … |dƒ ntdg|dƒ W n* tk
rš   | jjdƒ | jdƒ Y nX d S )Nr   r&   z-rr   Ú.z
[Interrupted]
)ÚsysÚargvÚtestallÚKeyboardInterruptÚstderrÚwriteÚexit)r4   Ú	recursiver   r   r   Útestƒ   s    r<   c             C   sÊ   dd l }dd l}x´| D ]¬}|jj|ƒrzt|d dd� |s>|rptdƒ dd l}|j|jj|dƒƒ}t||dƒ qÂtdƒ qt|d dd� |jj	ƒ  ytt
|ƒƒ W q tk
rÀ   td	ƒ Y qX qW d S )
Nr   z/:ú )Úendzrecursing down:Ú*z*** directory (use -r) ***ú:z*** not found ***)r4   ÚosÚpathÚisdirÚprintÚglobÚjoinr6   ÚstdoutÚflushr   ÚOSError)Úlistr;   Ztoplevelr4   rA   ÚfilenamerE   Únamesr   r   r   r6   ’   s"    


r6   Ú__main__)N)Ú__doc__rA   r   Ú__all__r   r   r   Úappendr   r   r"   r#   r)   r*   r+   r,   r-   r.   r1   r2   r<   r6   Ú__name__r   r   r   r   Ú<module>   sD   














