
 X              
   @   sn  d  d l  Z  d  d l m Z m Z d Z e  j Z yR d  d l Z e j   \ Z	 Z
 e
 d k rs e j   \ Z	 Z
 n  e j e
  Z Wn Yn Xe j d d  Z i d d 6d d	 6d
 d 6d d 6d d 6d d 6d d 6Z d d   Z Gd d   d e j  Z d d   Z e j e j e e  e j e j e  e j e j d  e j e j d  e j e j d  d S)    N)Image	ImageFilez0.2asciiignore1s   P4Ls   P5RGBs   P6ZCMYKs   P0CMYKPs   PyPRGBAs   PyRGBAs   PyCMYKc             C   s$   |  d d  d k o# |  d d k S)Nr         Ps   0456y )prefixr   r   O/home/ubuntu/projects/ifolica/lib/python3.4/site-packages/PIL/PpmImagePlugin.py_accept4   s    r   c               @   s7   e  Z d  Z d Z d Z d d d  Z d d   Z d S)	PpmImageFileZPPMzPbmplus image    c             C   sz   xs |  j  j d  } | s( | t k r, Pn  | d k rG t d   n  | | } t |  d k r t d   q q W| S)Nr   s   yz"Expected ASCII value, found binary	   zExpected int, got > 9 digits)fpreadb_whitespace
ValueErrorlen)selfscr   r   r   _token@   s    
zPpmImageFile._tokenc             C   s  |  j  j d  } | d k r- t d   n  t |  j |  } | d k r^ d |  _ d } n | |  _ } x7t d  D])} xg xA |  j  j d  } | t k r Pn  | d k r t d   q q W| d	 k r Pn  |  j  j	   } q Wt
 |  j |   } | d
 k r| } qx | d k r7| } | d k rPqqx | d k rx | d k r| d k snt d |   n  | d k  rd |  _ d } qd |  _ d } qqx qx W| | f |  _ d d
 d
 | | f |  j  j   | d
 d f f g |  _ d  S)Nr   r   znot a PPM filer   z1;I   r   z(File does not extend beyond magic number   #r         r   zToo many colors for band: %s   IzI;16BzI;32Brawi   )r   r   SyntaxErrorMODESr   moderanger   r   readlineintsizetellZtile)r   r   r&   rawmodeixZxsizeZysizer   r   r   _openL   sP    						zPpmImageFile._openN)__name__
__module____qualname__formatZformat_descriptionr   r.   r   r   r   r   r   ;   s   r   c          	   C   s  |  j  d k r d \ } } n |  j  d k r< d \ } } n |  j  d k r |  j   d d k  rp d \ } } q d \ } } nO |  j  d k r d \ } } n1 |  j  d k r d \ } } n t d |  j    | j | d |  j j d   | d k r| j d  n  | d k rn| d k r3| j d  qn| d
 k rO| j d  qn| d k rn| j d  qnn  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 %s as PPMz
%d %d
r   s   255
s   65535
s   2147483648
r#   r   )r3   r4   )r   r5   i   )r6   r5   )r7   r5   )r   r8   )r   r8   )r   r   )r&   Z
getextremaIOErrorwriter*   encoder   _save)Zimr   filenamer,   headr   r   r   r<      s0    !r<   z.pbmz.pgmz.ppm)stringZPILr   r   __version__
whitespacer   locale	getlocaleZlocale_langZ
locale_encgetdefaultlocaledecoder;   r%   r   r   r<   Zregister_openr2   Zregister_saveZregister_extensionr   r   r   r   <module>   s8   	
G"