a
    d	                     @   s   G d d dZ dS )c                   @   sX   e Zd ZdZdZdZeeefZdZdZdZ	dZ
dZd	Zd
Zedd ZedddZdS )UserCommentasciijisunicode	shift_jis	utf_16_be   s   ASCII   s   JIS     s   UNICODE s           c                 C   s   t || jk rtd|d| j }|| jd }|| jkrDtdz$| j| j| j| j| j| j	i| }W n t
y   tdY n0 |j|ddS )a2  
        Convert "UserComment" value in exif format to str.

        :param bytes data: "UserComment" value from exif
        :return: u"foobar"
        :rtype: str(Unicode)
        :raises: ValueError if the data does not conform to the EXIF specification,
        or the encoding is unsupported.
        z%not enough data to decode UserCommentNz1prefix is UNDEFINED, unable to decode UserCommentz(unable to determine appropriate encodingreplaceerrors)len_PREFIX_SIZE
ValueError_UNDEFINED_PREFIX_ASCII_PREFIXASCII_JIS_PREFIX_JIS_UNICODE_PREFIX_UNICODEKeyErrordecode)clsdataprefixbodyencoding r   V/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/piexif/helper.pyload   s    
zUserComment.loadc                 C   sj   || j vrtd|| j | j| j| j| j| j| ji| }| j| j	| j| j
i||}||j|dd S )a  
        Convert str to appropriate format for "UserComment".

        :param data: Like u"foobar"
        :param str encoding: "ascii", "jis", or "unicode"
        :return: b"ASCII   foobar"
        :rtype: bytes
        :raises: ValueError if the encoding is unsupported.
        z!encoding {!r} must be one of {!r}r   r	   )	ENCODINGSr   formatr   r   JISr   UNICODEr   r   r   getencode)r   r   r   r   Zinternal_encodingr   r   r   dump3   s
    
 zUserComment.dumpN)r   )__name__
__module____qualname__r   r!   r"   r   r   r   r   r   r   r   r   classmethodr   r%   r   r   r   r   r      s   

r   N)r   r   r   r   r   <module>       