Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/PIL/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-312.pyc

�

&ٜg
��H�ddlmZddlmZddlmZddlmZddlm	Z	m
Z
ddlmZ
ddlmZdd	lmZd
dd�Zdd
�Zdd�Zdd�Zdd�Zdd�ZGd�de
j�Ze	j2ej4e�e	j6ej4d�				dd�Zy)�)�annotations)�Sequence)�BytesIO)�cast�)�Image�	ImageFile)�i16be)�i32be)�	deprecate�raw�jpeg)r�c�V�|dk(r
tdd�ydt�d|�d�}t|��)N�PADzIptcImagePlugin.PAD��zmodule 'z' has no attribute '�')r�__name__�AttributeError)�name�msgs  �>/usr/local/lib/python3.12/site-packages/PIL/IptcImagePlugin.py�__getattr__rs7���u�}��'��,���X�J�2�4�&��
:�C�
��
��c�$�td|zdd�S)Nr���)�i32��cs r�_ir!+s����a����%�&�&rc�0�t|t�r|S|dS�Nr)�
isinstance�intrs r�_i8r&/s���1�c�"�1�,��!��,rc�0�tdd�t|�S)�.. deprecated:: 10.2.0zIptcImagePlugin.ir)rr!rs r�ir)3s��
�!�2�&�
�a�5�Lrc�n�tdd�|D]}tt|�d�d���t�y)r(zIptcImagePlugin.dumpr�02x� )�endN)r�printr&)r r)s  r�dumpr/9s.��
�$�b�)�
��
��Q����3�'��	�Grc�4�eZdZdZdZdd�Zd	d�Zd
d�Zdd�Zy)�
IptcImageFile�IPTCzIPTC/NAAc�2�t|j|�S)N)r!�info)�self�keys  r�getintzIptcImageFile.getintJs���$�)�)�C�.�!�!rc�l�|jjd�}|jd�sy|d|df}|ddk7s|ddvr
d	}t|��|d
}|dkDr
d}t	|��|d
k(rd}||fS|d
kDr+t|jj|d
z
��}||fSt
|d
�}||fS)Nr�r#r�r�)
rr:��r����	��zinvalid IPTC/NAA filer<�z%illegal field length in IPTC/NAA file�)�fp�read�strip�SyntaxError�OSErrorr!�i16)r5�s�tagr�sizes     r�fieldzIptcImageFile.fieldMs���
�G�G�L�L��O���w�w�w�����d�A�a�D�j��
�Q�4�4�<�3�q�6�)I�I�)�C��c�"�"���t���#�:�9�C��#�,��
�S�[��D��D�y���C�Z��d�g�g�l�l�4�#�:�.�/�D��D�y���q�!�9�D��D�y�rc��	|jj�}|j�\}}|r|dk(rn�|r|jj|�}nd}||jvr[t|j|t�r|j|j|�n.|j||g|j|<n||j|<��|jdd}|jdd}d|jvr|jdddz
}nd}|dk(r
|sd|_n#|dk(r
|rd||_n|d	k(r|r
d
||_|jd�|jd�f|_
	t|jd
�}|dk(r,tjdd|j z||�g|_yy#t$r}	d}
t|
�|	�d}	~	wwxYw)N�r@�
)r<�<rr)r<�A�Lr<�RGBr=�CMYK)r<�)r<�)r<�xzUnknown IPTC image compression�iptc)rr)rE�tellrNrFr4r$�list�append�_moder7�_size�COMPRESSION�KeyErrorrIr	�_TilerM�tile)r5�offsetrLrM�tagdata�layers�	component�id�compression�ers           r�_openzIptcImageFile._openis�����W�W�\�\�^�F��
�
��I�C���#��.����'�'�,�,�t�,�����d�i�i���d�i�i��n�d�3��I�I�c�N�)�)�'�2�&*�i�i��n�g�%>�D�I�I�c�N�!(��	�	�#���$���7�#�A�&���I�I�g�&�q�)�	��d�i�i�����7�#�A�&��*�B��B��Q�;�y��D�J�
�q�[�Y��r��D�J�
�q�[�Y����D�J��[�[��)�4�;�;�w�+?�?��
�	&�%�d�k�k�(�&;�<�K��'�>���������(:�F�K�P��D�I����	&�2�C��#�,�A�%��	&�s�4F>�>	G�G�Gc���t|j�dk7s|jdddk7rtjj|�S|jddd\}}|jj|�t
�}|dk(r|jd|jz�	|j�\}}|dk7rnS|dkDrM|jjt|d��}|sn%|j|�|t|�z}|dkDr�M�ltj|�5}|j�|j|_ddd�y#1swYyxYw)	NrrrZr:r
s
P5
%d %d
255
rPi )�lenrcr	�loadrE�seekr�writerMrNrF�minr�open�im)r5rdri�o�typerMrK�_ims        rrnzIptcImageFile.load�s-���t�y�y�>�Q��$�)�)�A�,�q�/�V�";��&�&�+�+�D�1�1�"�i�i��l�1�2�.���������V��
�I���%��
�G�G�'�$�)�)�3�4������J�D�$��w�����(��G�G�L�L��T�4��1��������
���A������(�	��Z�Z��]�c��H�H�J��f�f�D�G�����s�,"E�E N)r6ztuple[int, int]�returnr%)rwz"tuple[tuple[int, int] | None, int])rw�None)rwzImage.core.PixelAccess | None)	r�
__module__�__qualname__�format�format_descriptionr7rNrkrn�rrr1r1Fs"��
�F�#��"��8/�brr1z.iimc��ddlm}m}d}i}t|t�r:|j
j
�D]\}}t|t�s�|||<�|St||j�r/|j
jd�}|rB|jd�}n0t||j�r	|j|j}|�yGd�d�}|�}	t|	_tt|	�}
i|
_t!|�|
_	|
j%�|
j
j
�D]\}}t|t�s�|||<�|S#t$rY��wxYw#t&tf$rY�ZwxYw)z�
    Get IPTC information from TIFF, JPEG, or IPTC file.

    :param im: An image containing IPTC data.
    :returns: A dictionary containing IPTC information, or None if
        no IPTC information block was found.
    r)�JpegImagePlugin�TiffImagePluginN�	photoshopic��eZdZy)�getiptcinfo.<locals>.FakeImageN)rryrzr}rr�	FakeImager��s��rr�)�rr�r$r1r4�items�tuple�
JpegImageFile�get�
TiffImageFile�tag_v2�IPTC_NAA_CHUNKra�	__class__rrrErk�
IndexError)rsrr��datar4�k�vr�r��fake_im�iptc_ims           r�getiptcinfor��s_��3��D�79�D��"�m�$��G�G�M�M�O�D�A�q��!�U�#���Q��$���	�B��5�5�	6��G�G�K�K��,�	���=�=��(�D�	�B��5�5�	6�	��9�9�_�;�;�<�D��|��
�
��k�G�%�G���=�'�*�G��G�L����G�J�
��
�
�����"�"�$���1��a����D��G�%��K��5�	��	��(
��!�
��
�s$�3E�E,�	E)�(E)�,E>�=E>N)r�strrw�bytes)r r�rwr%)r zint | bytesrwr%)r zSequence[int | bytes]rwrx)rszImageFile.ImageFilerwz1dict[tuple[int, int], bytes | list[bytes]] | None)�
__future__r�collections.abcr�ior�typingrr�rr	�_binaryr
rJrr�
_deprecaterr`rr!r&r)r/r1�
register_openr{�register_extensionr�r}rr�<module>r�s���"#�$����!�!�!��F�#���'�-���p�I�'�'�p�f����M�(�(�-�8������-�-�v�6�;��;�6�;r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists