File: //usr/local/lib64/python3.6/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-36.pyc
3
Zƍh� � @ s� d dl Z d dlZddlmZmZ ddlmZ ddlmZ dd� Z dddddd
d d
d!dd"d
d#dd$diZ
G dd� dej�Zdd� ZG dd� dej
�Zejde� ejejee � ejeje� ejejd� ejejddddg� dS )%� N� )�Image� ImageFile)�i16be)�o8c C s t | �dkot| �dkS )N� i� )�len�i16)�prefix� r �>/usr/local/lib64/python3.6/site-packages/PIL/SgiImagePlugin.py�_accept! s r
�Lr zL;16B� �RGBzRGB;16B� �RGBAzRGBA;16Bc @ s e Zd ZdZdZdd� ZdS )�SgiImageFileZSGIzSGI Image File Formatc C sv d}| j j|�}t|�s td��|d }|d }t|d�}t|d�}t|d�}t|d�}|||f} d }
yt| }
W n tk
r� Y nX |
d kr�td
��||f| _|
jd�d | _ | j d
kr�d| _
d}|dk�rL|| | }|dk�rdd| j || j d|ffg| _nDg | _|}
x`| j D ].}| jj
dd| j |
|d|ff� |
|7 }
�qW n&|dk�rrdd| j ||
||ffg| _d S )Ni zNot an SGI image filer r r � � �
� zUnsupported SGI image mode�;r r z image/rgbr �SGI16�rawZsgi_rle���)r r )r r )r r )�fp�readr
�
ValueErrorr �MODES�KeyError�_size�split�modeZcustom_mimetype�sizeZtile�append)�selfZheadlen�s�compression�bpcZ dimension�xsize�ysize�zsizeZlayout�rawmode�orientation�pagesize�offsetZlayerr r r �_open8 sF
zSgiImageFile._openN)�__name__�
__module__�__qualname__�format�format_descriptionr1 r r r r r 3 s r c C sJ | j dkr&| j dkr&| j dkr&td��| j}|jdd�}|dkrHtd��d}d }d
}d}| j\} }
| j dkrz|
dkrzd}n| j dkr�d}t| j �}|dks�|dkr�d}t| j� �|kr�td|� d
t| j� �� ���d
}d}
tjj tjj
|��d
}|jdd�}d
}|jt
jd|�� |jt|�� |jt|�� |jt
jd|�� |jt
jd| �� |jt
jd|
�� |jt
jd|�� |jt
jd|�� |jt
jd|
�� |jt
jdd�� |jt
jd|�� |jt
jdd�� |jt
jd|�� |jt
jdd�� d}|dk�rd}x(| j� D ]}|j|jd|d
|�� �qW t|d��rF|j� d S )Nr r r zUnsupported SGI image moder) r r z%Unsupported number of bytes per pixeli� r r z(incorrect number of bands in SGI write: z vs � �ascii�ignorez>hz>Hz>lZ4s� Z79sr'