a
    ç´«jõ  ã                   @   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é   )Z	greyscaleZbitdepth)r   ÚImportErrorZ
pixel_size)ÚselfÚkwargs© r   úP/var/www/html/laksyashrimp/venv/lib/python3.9/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ÚopenZ_imgÚwriteÚ	rows_iter)r	   ÚstreamÚkindr   r   r   Úsave   s    

zPyPNGImage.savec                 #   sx   ˆ   ¡ E d H  dgˆ jˆ j  }ˆ jD ]>}|tt ‡ fdd„|D ƒ¡ƒ | }tˆ jƒD ]
}|V  qXq&ˆ   ¡ 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	   Z
border_colZ
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	   Z
border_rowr%   r   r   r   r   1   s    zPyPNGImage.border_rows_iter)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Zallowed_kindsZneeds_drawrectr   r   r   r   r   r   r   r   r   r      s   
r   N)Ú	itertoolsr   Zqrcode.compat.pngr   Zqrcode.image.baser   r   ZPymagingImager   r   r   r   Ú<module>   s   1