HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/PIL/__pycache__/ContainerIO.cpython-310.pyc
o

weC�@sddlZGdd�d�ZdS)�Nc@sPeZdZdZdd�Zdd�Zejfdd�Zdd	�Z	ddd�Z
d
d�Zdd�ZdS)�ContainerIOzm
    A file object that provides read access to a part of an existing
    file (for example a TAR file).
    cCs(||_d|_||_||_|j�|�dS)z�
        Create file object.

        :param file: Existing file.
        :param offset: Start of region, in bytes.
        :param length: Size of region, in bytes.
        rN)�fh�pos�offset�length�seek)�self�filerr�r
�H/home/arjun/projects/env/lib/python3.10/site-packages/PIL/ContainerIO.py�__init__s
zContainerIO.__init__cCsdS)NFr
�rr
r
r�isatty,szContainerIO.isattycCs`|dkr|j||_n|dkr|j||_n||_tdt|j|j��|_|j�|j|j�dS)a
        Move file pointer.

        :param offset: Offset in bytes.
        :param mode: Starting position. Use 0 for beginning of region, 1
           for current offset, and 2 for end of region.  You cannot move
           the pointer outside the defined region.
        ��rN)rr�max�minrrr)rr�moder
r
rr/s	zContainerIO.seekcCs|jS)ze
        Get current file pointer.

        :returns: Offset from start of region, in bytes.
        )rr
r
r
r�tellBszContainerIO.tellrcCsT|rt||j|j�}n|j|j}|sd|jjvrdSdS|j||_|j�|�S)z�
        Read data.

        :param n: Number of bytes to read. If omitted or zero,
            read until end of region.
        :returns: An 8-bit string.
        �b��)rrrrr�read)r�nr
r
rrJszContainerIO.readcCsVd|jjvrdnd}d|jjvrdnd}	|�d�}|s	|S||}||kr*	|Sq)zJ
        Read a line of text.

        :returns: An 8-bit string.
        rrr�
�
Tr)rrr)r�s�newline_character�cr
r
r�readline[s
��zContainerIO.readlinecCs$g}	|��}|s	|S|�|�q)zZ
        Read multiple lines of text.

        :returns: A list of 8-bit strings.
        )r�append)r�linesrr
r
r�	readlinesls
��zContainerIO.readlinesN)r)
�__name__�
__module__�__qualname__�__doc__rr�io�SEEK_SETrrrrr"r
r
r
rrs
r)r'rr
r
r
r�<module>s