o
    h                     @   s<   d dl mZ d dlmZ d dlmZ G dd deZeZdS )    )chain)	PngWriter)	BaseImagec                   @   sF   e Zd ZdZdZdZdZdd Zdd Zdd
dZ	dd Z
dd Zd	S )
PyPNGImagez
    pyPNG image builder.
    PNG)r   Fc                 K   s    t stdt | j| jdddS )NzPyPNG library not installed.T   )	greyscalebitdepth)r   ImportError
pixel_size)selfkwargs r   D/var/www/html/venv/lib/python3.10/site-packages/qrcode/image/pure.py	new_image   s   zPyPNGImage.new_imagec                 C   s   dS )z
        Not used.
        Nr   )r   rowcolr   r   r   drawrect   s    zPyPNGImage.drawrectNc                 C   s*   t |tr
t|d}| j||   d S )Nwb)
isinstancestropen_imgwrite	rows_iter)r   streamkindr   r   r   save   s   

zPyPNGImage.savec                 #   sz       E d H  dg j j  } jD ]}|tt fdd|D  | }t jD ]}|V  q-q   E d H  d S )Nr   c                 3   s    | ]
}| g j  V  qd S N)box_size).0pointr   r   r   	<genexpr>'   s    
z'PyPNGImage.rows_iter.<locals>.<genexpr>)border_rows_iterr   bordermoduleslistr   from_iterablerange)r   
border_col
module_rowr   _r   r"   r   r       s$   
	zPyPNGImage.rows_iterc                 c   s>    dg| j | j| jd    }t| j| j  D ]}|V  qd S )Nr      )r   widthr%   r)   )r   
border_rowr,   r   r   r   r$   1   s
   zPyPNGImage.border_rows_iterr   )__name__
__module____qualname____doc__r   allowed_kindsneeds_drawrectr   r   r   r   r$   r   r   r   r   r      s    
r   N)	itertoolsr   qrcode.compat.pngr   qrcode.image.baser   r   PymagingImager   r   r   r   <module>   s
    1