î
úÙ X 
  ã               @   sw   d  d l  m Z m Z m Z e j Z d d „  Z Gd d „  d e j ƒ Z e j e j	 e e ƒ e j
 e j	 d ƒ d S)é    )ÚImageÚ	ImageFileÚ_binaryc             C   sH   t  |  ƒ d k oG t |  d  d … ƒ d k oG t |  d d … ƒ d k S)Né   é   é   é   é   )r   r	   )ÚlenÚi32)Úprefix© r   úO/home/ubuntu/projects/ifolica/lib/python3.4/site-packages/PIL/GbrImagePlugin.pyÚ_accept    s    r   c               @   s4   e  Z d  Z d Z d Z d d „  Z d d „  Z d S)ÚGbrImageFileZGBRzGIMP brush filec       	      C   så  t  |  j j d ƒ ƒ } t  |  j j d ƒ ƒ } | d k  rK t d ƒ ‚ n  | d k rj t d | ƒ ‚ n  t  |  j j d ƒ ƒ } t  |  j j d ƒ ƒ } t  |  j j d ƒ ƒ } | d k sÊ | d k rÙ t d ƒ ‚ n  | d k rø t d | ƒ ‚ n  | d k r| d } nV | d	 } |  j j d ƒ } | d
 k rHt d ƒ ‚ n  t  |  j j d ƒ ƒ |  j d <|  j j | ƒ d  d … } | d k r›d |  _ n	 d |  _ | | f |  _ | |  j d <t j |  j ƒ | | | |  _	 d  S)Nr   r   znot a GIMP brushr   r	   z"Unsupported GIMP brush version: %sr   z&Unsupported GIMP brush color depth: %sé   s   GIMPz"not a GIMP brush, bad magic numberÚspacingÚLZRGBAÚcomment)r   r	   )r   r   éÿÿÿÿ)
r   ÚfpÚreadÚSyntaxErrorÚinfoÚmodeÚsizer   Z_decompression_bomb_checkÚ
_data_size)	ÚselfZheader_sizeÚversionÚwidthÚheightZcolor_depthZcomment_lengthZmagic_numberr   r   r   r   Ú_open,   s8    
	zGbrImageFile._openc             C   s>   t  j j |  j |  j ƒ |  _ |  j |  j j |  j	 ƒ ƒ d  S)N)
r   ÚcoreÚnewr   r   ZimZ	frombytesr   r   r   )r   r   r   r   ÚloadV   s    zGbrImageFile.loadN)Ú__name__Ú
__module__Ú__qualname__ÚformatZformat_descriptionr!   r$   r   r   r   r   r   '   s   *r   z.gbrN)ZPILr   r   r   Zi32ber   r   r   Zregister_openr(   Zregister_extensionr   r   r   r   Ú<module>   s
   	6