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