OwlCyberSecurity - MANAGER
Edit File: MspImagePlugin.cpython-38.pyc
U g� ^� � @ s� d dl Z d dlZddlmZmZ ddlmZmZm Z dd� ZG dd� dej�ZG d d � d ej �Ze�de� dd � Ze�ejee� e�eje� e�ejd� dS )� N� )�Image� ImageFile)�i8�i16le�o16lec C s | d d� dkS )N� �� DanMs LinS� )�prefixr r �4/usr/lib/python3/dist-packages/PIL/MspImagePlugin.py�_accept$ s r c @ s e Zd ZdZdZdd� ZdS )�MspImageFile�MSPz Windows Paintc C s� | j �d�}|d d� dkr$td��d}tddd�D ]}|t|||d � �A }q4|dkrbtd��d| _t|dd � �t|d d � �f| _|d d� d kr�dd| j dd fg| _ndd| j dd fg| _d S )N� r r znot an MSP filer � zbad MSP checksum�1� r �raw�r r �r r r r ) �fp�read�SyntaxError�range�i16�modeZ_size�sizeZtile)�self�s�checksum�ir r r �_open2 s "zMspImageFile._openN)�__name__� __module__�__qualname__�formatZformat_descriptionr# r r r r r - s r c @ s e Zd ZdZdd� ZdS )� MspDecoderTc C sz t �� }td| jjd d �}z4| j�d� t�d| jj | j� | jj d ��}W n tjk rr td��Y nX t |�D ]�\}}z�|dkr�|�|� W q|| j� |�}t|�|kr�td ||f��d}||k �r<t|| �} |d 7 }| dk�rt�d||�\} }|�|| � |d7 }q�| } |�|||| � � || 7 }q�W q| tjk �rb td| ��Y q|X q|| �|�� d � dS )N)� � � r z<%dHr zTruncated MSP file in row mapr z/Truncated MSP file, expected %d bytes on row %sr ZBczCorrupted MSP file in row %dr r )�io�BytesIO� bytearray�stateZxsize�fd�seek�structZunpack_fromZysizer �error�OSError� enumerate�write�lenr Z set_as_raw�getvalue)r �bufferZimgZ blank_lineZrowmap�xZrowlen�row�idxZruntypeZruncountZrunvalr r r �decoden sH � � zMspDecoder.decodeN)r$ r% r&