ó
È4ec           @   sã   d  d l  m Z m Z d Z d Z i d d 6d d 6d d	 6d
 d 6d d 6d d 6d
 d 6Z d „  Z d e j f d „  ƒ  YZ 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(   i   (   t   Imaget	   ImageFiles   0.2s    	
t   1t   P4t   Lt   P5t   RGBt   P6t   CMYKt   P0CMYKt   Pt   PyPt   RGBAt   PyRGBAt   PyCMYKc         C   s!   |  d d !d k o  |  d d k S(   Ni    i   R
   t   0456y(    (   t   prefix(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/PpmImagePlugin.pyt   _accept+   s    t   PpmImageFilec           B   s)   e  Z d  Z d Z d d „ Z d „  Z RS(   t   PPMs   Pbmplus imaget    c         C   s€   xy t  r{ |  j j d ƒ } | s. | t k r2 Pn  | d k rM t d ƒ ‚ n  | | } t | ƒ d k r t d ƒ ‚ q q W| S(   Ni   t   ys"   Expected ASCII value, found binaryi	   s   Expected int, got > 9 digits(   t   Truet   fpt   readt   b_whitespacet
   ValueErrort   len(   t   selft   st   c(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/PpmImagePlugin.pyt   _token8   s    	
c         C   s'  |  j  j d ƒ } | d k r- t d ƒ ‚ n  |  j | ƒ } t | } i d d 6d d 6d d	 6j | ƒ |  _ | d
 k r‹ d
 |  _ d } n | |  _ } xCt d ƒ D]5} xs t	 r xG t	 rý |  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 rK| } q¥ | d k rp| } | d
 k rÚPqÚq¥ | d k r¥ | d k rÚ| d k s§t d | ƒ ‚ n  | d k  rÅd |  _ d } q×d |  _ d } qÚq¥ q¥ W| | f |  _ d d d | | f |  j  j ƒ  | d d f f g |  _ d  S(   Ni   R
   s   not a PPM files   image/x-portable-bitmapR   s   image/x-portable-graymapR   s   image/x-portable-pixmapR   R   s   1;Ii   R   s(   File does not extend beyond magic numbert   #i    i   iÿ   R   s   Too many colors for band: %si   t   Is   I;16Bs   I;32Bt   rawi   (   R   R   t   SyntaxErrorR   t   MODESt   gett   custom_mimetypet   modet   rangeR   R   R   t   readlinet   intt   _sizet   tellt   tile(   R   R   t   magic_numberR'   t   rawmodet   ixt   xsizet   ysize(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/PpmImagePlugin.pyt   _openD   sV    

								(   t   __name__t
   __module__t   formatt   format_descriptionR   R3   (    (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/PpmImagePlugin.pyR   3   s   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   s   1;IR   R   R   R!   i   i   i   s   I;16Bs   I;32BR   R   R   s   cannot write mode %s as PPMs   
%d %d
t   asciis   255
s   65535
s   2147483648
R"   i    (   s   1;IR   (   R   R   i   (   s   I;16BR   (   s   I;32BR   (   R   R   (   R   R   (   i    i    (   R'   t
   getextremat   IOErrort   writet   sizet   encodeR   t   _save(   t   imR   t   filenameR/   t   head(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/PpmImagePlugin.pyR>      s0    !s   .pbms   .pgms   .ppms   .pnms   image/x-portable-anymapN(   R   R    R   t   __version__R   R$   R   R   R>   t   register_openR6   t   register_savet   register_extensionst   register_mime(    (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/PpmImagePlugin.pyt   <module>   s"   
	L	$