| Server IP : 3.111.61.48 / Your IP : 216.73.216.67 Web Server : Apache System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.2.31 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/lib/python3/dist-packages/PIL/__pycache__/ |
Upload File : |
o
Z#�a�( � @ s� d dl Z d dlZd dlZddlmZmZ G dd� d�Zdd� Zdd � Zd
d� Z G dd
� d
ej�Z
dd� Zdd� Ze�
e
je
e� e�e
je� e�e
jg d�� e�e
jd� dS )� N� )�Image� ImageFilec @ sJ e Zd ZdZddd�Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dS )� BoxReaderz}
A small helper class to read fields stored in JPEG2000 header boxes
and to easily step into and read sub-boxes.
���c C s || _ |dk| _|| _d| _d S )Nr r )�fp�
has_length�length�remaining_in_box)�selfr r � r �7/usr/lib/python3/dist-packages/PIL/Jpeg2KImagePlugin.py�__init__ s
zBoxReader.__init__c C s6 | j r| j�� | | jkrdS | jdkr|| jkS dS )NFr T)r r �tellr r
)r � num_bytesr r r
� _can_read# s
zBoxReader._can_readc C s` | � |�s td��| j�|�}t|�|k r"td|� dt|�� d���| jdkr.| j|8 _|S )NzNot enough data in headerzExpected to read z bytes but only got �.r )r �SyntaxErrorr �read�len�OSErrorr
)r r �datar r r
�_read_bytes- s
�
zBoxReader._read_bytesc C s t �|�}| �|�}t �||�S �N)�struct�calcsizer �unpack)r �field_format�sizer r r r
�read_fields; s
zBoxReader.read_fieldsc C s | j }| �|�}tt�|�|�S r )r
r r �io�BytesIO)r r r r r r
�
read_boxes@ s
zBoxReader.read_boxesc C s | j r| j�� | j | jk S dS )NT)r r r r
r �r r r r
�has_next_boxE s zBoxReader.has_next_boxc C s| | j dkr| j�| j tj� d| _ | �d�\}}|dkr&| �d�d }d}nd}||k s3| �|| �s7td��|| | _ |S ) Nr r z>I4sr z>Q� � zInvalid header length)r
r �seek�os�SEEK_CURr r r )r �lbox�tbox�hlenr r r
�
next_box_typeK s
zBoxReader.next_box_typeN)r )�__name__�
__module__�__qualname__�__doc__r r r r r"