File: //lib/python3/dist-packages/PIL/__pycache__/SgiImagePlugin.cpython-38.pyc
U
g�
^� � @ s� d dl Z d dlZddlmZmZ ddlmZmZm Z dd� Z
ddddd d
ddd
�ZG dd� dej�Zdd� Z
G dd� dej�Ze�de� e�ejee
� e�eje
� e�ejd� e�ejddddg� dS )� N� )�Image� ImageFile)�i8�i16be�o8c C s t | �dkot| �dkS )N� �� )�len�i16)�prefix� r
�4/usr/lib/python3/dist-packages/PIL/SgiImagePlugin.py�_accept s r �L�L;16B�RGBzRGB;16B�RGBAzRGBA;16B))r r r )r r r )r r r )r r r )r � r )r r r )r r � )r r r c @ s e Zd ZdZdZdd� ZdS )�SgiImageFileZSGIzSGI Image File Formatc C s� d}| j �|�}t|�dkr$td��t|d �}t|d �}t|dd � �}t|dd � �}t|dd � �}t|d d � �}|||f} d
}
zt| }
W n tk
r� Y nX |
d
kr�td��||f| _|
�d�d
| _ | j dkr�d| _
d}|d
k�rl|| | }|dk�r*dd| j || j d
|ffg| _n@g | _|}
| j D ].}| j�
dd| j |
|d
|ff� |
|7 }
�q:n&|dk�r�dd| j ||
||ffg| _d S )N� r zNot an SGI image filer r r � � �
� �Unsupported SGI image mode�;r r z image/rgb����SGI16)r r �rawr Zsgi_rle)�fp�readr �
ValueErrorr �MODES�KeyErrorZ_size�split�modeZcustom_mimetype�sizeZtile�append)�selfZheadlen�sZcompression�bpcZ dimension�xsize�ysize�zsizeZlayout�rawmode�orientation�pagesize�offsetZlayerr
r
r �_open7 sL
�
�
�zSgiImageFile._openN)�__name__�
__module__�__qualname__�formatZformat_descriptionr4 r
r
r
r r 2 s r c C s6 | j dkr&| j dkr&| j dkr&td��| j}|�dd�}|dkrHtd��d }d
}d}d}| j\} }
| j dkrz|
dkrzd}n| j dkr�d
}t| j �}|dks�|d
kr�d}t| �� �|kr�td�|t| �� ����d}d}
tj �
tj �|��d }|�dd�}d}|�
t�d|�� |�
t|�� |�
t|�� |�
t�d|�� |�
t�d| �� |�
t�d|
�� |�
t�d|�� |�
t�d|�� |�
t�d|
�� |�
t�dd�� |�
t�d|�� |�
t�dd�� |�
t�d|�� |�
t�dd�� d}|d
k�rd}| �� D ]}|�
|�d|d|�� �q|�� d S )Nr r r r r, r )r r z%Unsupported number of bytes per pixelr r r r r z0incorrect number of bands in SGI write: {} vs {}� �ascii�ignorez>hz>Hz>lZ4s� Z79sr+ Z404sr r )r'