HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/PIL/__pycache__/SpiderImagePlugin.cpython-38.pyc
U

g�
^�$�@s�ddlZddlZddlZddlmZmZdd�Zddddd	d
gZdd�Zd
d�Z	Gdd�dej�Z
d%dd�Zdd�Zdd�Z
dd�Ze�e
je
�e�e
je�edk�r�eej�dkr�ed�e��ejdZe	e�s�ed�e��e�e�Zedee��edeej��edeej��ed eej��ed!d"d#�ee���eej�dk�r�ejdZe�ej �Zed$ej!�"e�ef�e�#ee
j�dS)&�N)�Image�	ImageFilec	CsDz$t|�}||dkrWdSWdSWnttfk
r>YdSXdS)Nr�)�int�
ValueError�
OverflowError)�f�i�r
�7/usr/lib/python3/dist-packages/PIL/SpiderImagePlugin.py�isInt*s
rr�i����i�i��i��cCstd|}dD]}t||�sdSqt|d�}|tkr<dSt|d�}t|d�}t|d�}|||krpdS|S)N��c)r����
��rrrrr)rr�iforms)�t�hr	�iform�labrec�labbyt�lenbytr
r
r�isSpiderHeader>src	CsTt|d��}|�d�}W5QRXt�d|�}t|�}|dkrPt�d|�}t|�}|S)N�rb�\z>23frz<23f)�open�read�struct�unpackr)�filename�fprr�hdrlenr
r
r�
isSpiderImageRsr'c@sbeZdZdZdZdZdd�Zedd��Zedd	��Z	d
d�Z
dd
�Zddd�Zdd�Z
dd�ZdS)�SpiderImageFileZSPIDERzSpider 2D imageFcCs�d}|j�|�}zPd|_t�d|�}t|�}|dkrNd|_t�d|�}t|�}|dkr^td��Wntjk
r~td��YnXd|}t|d�}|dkr�td	��t|d
�t|d�f|_	t|d�|_
t|d
�|_|j
dkr�|jdkr�|}d|_n�|j
dk�rT|jdk�rTt|d
�t|d�d|_
||_t|d�|_|d}d|_n2|j
dk�r~|jdk�r~||j}d|_
ntd��|j�r�d|_nd|_d|_dd|j||jddffg|_|j|_dS)N�lrz>27frz<27fznot a valid Spider filerrznot a Spider 2D imagerr����z inconsistent stack header valueszF;32BFzF;32F�F�raw�rr)r%r!Z	bigendianr"r#r�SyntaxError�errorrZ_size�istack�	imgnumber�_nimages�imgbytesr&�	stkoffset�rawmode�mode�sizeZtile�_SpiderImageFile__fp)�self�nrrr&rr�offsetr
r
r�_opencsP
zSpiderImageFile._opencCs|jS�N�r5�r<r
r
r�n_frames�szSpiderImageFile.n_framescCs
|jdkS�NrrArBr
r
r�is_animated�szSpiderImageFile.is_animatedcCs|jdkrdS|jdSdS)Nrr)r4rBr
r
r�tell�s
zSpiderImageFile.tellcCsZ|jdkrtd��|�|�s dS|j||j|j|_|j|_|j�|j�|�	�dS)Nrz#attempt to seek in a non-stack file)
r3�EOFErrorZ_seek_checkr&r6r7r;r%�seekr?)r<�framer
r
rrH�s

zSpiderImageFile.seek�cCsH|��\}}d}||kr$|||}||}|�||fdd���d�S)NrcSs|||Sr@r
)r	�m�br
r
r�<lambda>��z.SpiderImageFile.convert2byte.<locals>.<lambda>�L)�
getextremaZpoint�convert)r<ZdepthZminimumZmaximumrKrLr
r
r�convert2byte�s
zSpiderImageFile.convert2bytecCsddlm}|j|��dd�S)Nr)�ImageTk�)Zpalette)�PILrSZ
PhotoImagerR)r<rSr
r
r�tkPhotoImage�szSpiderImageFile.tkPhotoImagecCsBz4z|j|jkr|j��Wntk
r0YnXW5d|_XdSr@)r;r%�close�AttributeErrorrBr
r
r�
_close__fp�s
zSpiderImageFile._close__fpN)rJ)�__name__�
__module__�__qualname__�formatZformat_descriptionZ!_close_exclusive_fp_after_loadingr?�propertyrCrErFrHrRrVrYr
r
r
rr(]s7


	r(c
Cs�|dkst|�dkrdSg}|D]�}tj�|�s>td|�q z"t�|��}|��}W5QRXWn,tk
r�t	|�s�t|d�Yq YnX||j
d<|�|�q |S)zJcreate a list of :py:class:`~PIL.Image.Image` objects for use in a montageNrzunable to find %sz is not a Spider image filer$)�len�os�path�exists�printrr rR�	Exceptionr'�info�append)ZfilelistZimglistZimg�imr
r
r�loadImageSeries�s"

rhcCs�|j\}}|d}td|�}d|dkr2|d7}||}g}t|d�}t|�D]}|�d�qRt|�dkrrgSd|d<t|�|d<d|d	<t|�|d
<t|�|d<t|�|d<t|�|d<|dd�}|�d�g}	|D]}
|	�t�d
|
��q�|	S)Nr,irrgrg�?rrrrrr)r:r�rangerfr_�floatr"Zpack)rgZnsamZnrowrrr�hdrZnvaluesr	Zhdrstr�vr
r
r�makeSpiderHeader�s2

rmc
Csj|jddkr|�d�}t|�}t|�dkr4td��|�|�d}t�||dd|jd|ddffg�dS)	Nrr.rTzError creating Spider headerzF;32NFr/r0r)	r9rQrmr_�OSError�
writelinesr�_saver:)rgr%r$rkr8r
r
rrps

rpcCs.tj�|�d}t�tj|�t|||�dSrD)r`ra�splitextrZregister_extensionr(r]rp)rgr%r$Zextr
r
r�_save_spidersrr�__main__rz6Syntax: python SpiderImagePlugin.py [infile] [outfile]z$input image must be in Spider formatzimage: zformat: zsize: zmode: z
max, min: � )�endz%saving a flipped version of %s as %s )N)$r`r"�sysrUrrrrrr'r(rhrmrprrZ
register_openr]Z
register_saverZr_�argvrc�exitr$r rg�strr:r9rPZoutfileZ	transposeZFLIP_LEFT_RIGHTra�basenameZsaver
r
r
r�<module>#sL	s
"




��