3

h_                 @   s   d dl mZmZ dZdddddddd	Zd
d ZG dd dejZdd Zejej	ee ej
ej	e ejej	ddddg ejej	d dS )   )Image	ImageFiles    	
1LRGBZCMYKPRGBA)s   P4s   P5s   P6s   P0CMYKs   PyPs   PyRGBAs   PyCMYKc             C   s   | dd dko| d dkS )N    r      Ps   0456y )prefixr   r   R/var/www/html/enquirykeeper_venv/lib/python3.6/site-packages/PIL/PpmImagePlugin.py_accept'   s    r   c               @   s&   e Zd ZdZdZd	ddZdd ZdS )
PpmImageFileZPPMzPbmplus image    c             C   sR   xL| j jd}| s|tkrP |dkr.td|| }t|dkrtdqW |S )Nr      yz"Expected ASCII value, found binary	   zExpected int, got > 9 digits)fpreadb_whitespace
ValueErrorlen)selfscr   r   r   _token4   s    zPpmImageFile._tokenc             C   sf  | j jd}|dkrtd| j|}t| }ddddj|| _|dkrVd| _d	}n
| | _}xtd
D ]}xDx*| j jd}|t	krP |dkrrt
dqrW |dkrP | j j }qpW t| j|}|dkr|}qj|dkr|}|dkrP qj|dkrj|dkrj|dkst
d| |dk r&d| _d}qjd| _d}qjW ||f| _ddd||f| j j |ddffg| _d S )Nr   r
   znot a PPM filezimage/x-portable-bitmapzimage/x-portable-graymapzimage/x-portable-pixmap)s   P4s   P5s   P6r   z1;I   r   z(File does not extend beyond magic number   #r	         r   zToo many colors for band:    IzI;16BzI;32Brawi   )r   r   SyntaxErrorr   MODESgetZcustom_mimetypemoderanger   r   readlineint_sizetellZtile)r   r   Zmagic_numberr&   rawmodeixZxsizeZysizer   r   r   _open@   sT    




zPpmImageFile._openN)r   )__name__
__module____qualname__formatformat_descriptionr   r.   r   r   r   r   r   /   s   
r   c          	   C   s,  | j dkrd\}}n|| j dkr(d\}}nh| j dkrV| j d dk rLd\}}qd\}}n:| j dkrjd\}}n&| j dkr~d\}}ntd| j  d|j|d| j jd  |dkr|jd |dkr|dkr|jd n*|d
k r|jd n|dkr|jd tj| |dd| j d|ddffg d S ) Nr   1;I   P4r      P5r!   r   r   r    I;16BI;32Br      P6r   zcannot write mode z as PPMz
%d %d
asciis   255
s   65535
s   2147483648
r"   r	   )r4   r5   )r   r6   i   )r7   r6   )r8   r6   )r   r9   )r   r9   )r	   r	   )r&   Z
getextremaOSErrorwritesizeencoder   _save)Zimr   filenamer,   headr   r   r   r?   {   s0    















r?   z.pbmz.pgmz.ppmz.pnmzimage/x-portable-anymapN) r   r   r   r$   r   r   r?   Zregister_openr2   Zregister_saveZregister_extensionsZregister_mimer   r   r   r   <module>   s   L$