CoolFace
Apppublic

Aluode/PerceptionLabPortable

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
IptcImagePlugin.cpython-310.pyc61 linesDownload Raw Back to __pycache__
1o

2��Yi��@s�ddlmZddlmZddlmZddlmZmZddl	m3Zddl	mZ
dd	d4�Zddd�ZGdd�dej�Ze�eje�e�ejd�ddd�ZdS)�)�annotations)�BytesIO)�cast�)�Image�	ImageFile)�i16be)�i32be�rawZjpeg)r��c�bytes�return�intcCstd|dd��S)Ns�����)�i32)r�r�}E:\DocsHouse\542 percep lab latest\PerceptionLab\PerceptionLab_Portable\python_embed\Lib\site-packages\PIL/IptcImagePlugin.py�_i!src@s<eZdZdZdZddd�Zdd5d�Zdd
d�Zddd�ZdS)�
IptcImageFileZIPTCzIPTC/NAA�key�tuple[int, int]rrcCst|j|�S)N)r�info)�selfrrrr�getint.szIptcImageFile.getint�"tuple[tuple[int, int] | None, int]cCs�|jdusJ�|j�d�}|�d�sdS|d|df}|ddks(|ddvr.d	}t|��|d6}|dkr<d}t|��|d
krFd}||fS|d
krXt|j�|d
��}||fSt|d7�}||fS)Nr�)Nrr�r�)8rr��r����	��zinvalid IPTC/NAA filer�z%illegal field length in IPTC/NAA file�)�fp�read�strip�SyntaxError�OSErrorr�i16)r�s�tag�msg�sizerrr�field1s(9�10�zIptcImageFile.field�Nonec11Cs�|jdusJ�	|j��}|��\}}|r|dkrn2|r#|j�|�}nd}||jvrFt|j|t�r;|j|�|�n|j||g|j|<n||j|<q|jdd}|jdd}|dkrf|sfd|_d}n$|dkrp|rpd|_n	|d	kry|ryd12|_d|jvr�|jddd}nd}|�	d�|�	d
�f|_13z	t|�	d�}Wnty�}	zd}14t
|15�|	�d}	~	ww|dkr�t�dd|j|||f�g|_dSdS)NT�r#�16)r�<rr�Lr�RGBr ZCMYK)r�A)r�)r�)r�xzUnknown IPTC image compressionZiptc)rr)r(�tellr2r)r�17isinstance�list�append�_moder�_size�COMPRESSION�KeyErrorr,rZ_Tiler1�tile)r�offsetr/r1ZtagdataZlayers�	component�band�compression�er0rrr�_openNsN181920�2122��23��zIptcImageFile._open�Image.core.PixelAccess | NonecCsL|jr�|jdj}t|t�sJ�|\}}|jdusJ�|j�|jdj�t�}|dkr4|�d|j	�	|�24�\}}|dkr@n |dkr_|j�t|d��}|sPn|�|�|t
|�8}|dksDq5t�|��0}|dur�t�d|j	�gt�|j�}	||	|<t�|j|	�}25n|}26|27��|28j|_Wd�n1s�wYg|_tj�|�S)Nrr29s
P530%d %d3125532Tr4i r7)rE�argsr>�tupler(�seekrFr�writer1r2r)�min�lenr�open�newZgetmodebands�mode�merge�load�imr)rrMrIrH�o�typer1r.Z_imZbandsrXrrrrW�s@33��34�	zIptcImageFile.loadN)rrrr)rr)rr3)rrL)	�__name__�35__module__�__qualname__�format�format_descriptionrr2rKrWrrrrr*s3637384rz.iimrX�ImageFile.ImageFile�1dict[tuple[int, int], bytes | list[bytes]] | Nonec	Cs4ddlm}m}d}i}t|t�r&|j��D]
\}}t|t�r#|||<q|St||j�r:|j�	d�}|r9|�	d�}nt||j39�rSz	|jj|j
}Wn	tyRYnw|durYdSGdd�d�}|�}	t|	_tt|	�}40i|41_t|�|42_z|43��Wnttfy�Ynw|44j��D]
\}}t|t�r�|||<q�|S)z�45    Get IPTC information from TIFF, JPEG, or IPTC file.46 47    :param im: An image containing IPTC data.48    :returns: A dictionary containing IPTC information, or None if49        no IPTC information block was found.50    r)�JpegImagePlugin�TiffImagePluginN�	photoshopic@seZdZdS)zgetiptcinfo.<locals>.FakeImageN)r[r\r]rrrr�	FakeImage�sre)�rbrcr>rr�itemsrNZ
JpegImageFile�getZ
TiffImageFileZtag_v2Z_tagdataZIPTC_NAA_CHUNKrD�	__class__rrr(rK�51IndexError)rXrbrc�datar�k�vrdreZfake_imZiptc_imrrr�getiptcinfo�sL525354�55��5657�58�rnN)rr
rr)rXr`rra)�59__future__r�ior�typingrrfrr�_binaryrr-r	rrCrrZ
register_openr^Zregister_extensionrnrrrr�<module>s6061	
Aluode/PerceptionLabPortable · CoolFace