o
    µQ?hC  ã                   @   s–   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZmZ defd	d
„Zdefdd„Zdefdd„ZdS )é    N)ÚCode128)ÚImageWriter)Ú	send_file)ÚbucketÚdb)Ú	API_Error)Úget_file_pathÚsaveFileÚenterpriseIdc                 C   s@   t  d¡ | ¡ d¡ d¡ ¡ }|jr| ¡ S tdddddd	S )
NÚenterprisesÚsettingsÚbarcodeSettingsg      à?é   é#   g      @g      @)Úmodule_widthÚmodule_heightÚ	font_sizeÚtext_distanceÚ
quite_zone)r   Ú
collectionÚdocumentÚgetÚexistsÚto_dictÚdict)r
   Úref© r   úO/var/www/html/riverr-enterprise-integrations-main/functions/batches/Barcodes.pyÚgetBarcodeSettings   s    ûr   Úparamsc              	   C   sÐ   |   d¡|   d¡|   d¡}}}t|tƒ d}t|› dƒ}t d|› d|› d|› d¡}t|ƒ}| ||¡}| |¡ t	 
|¡ |j}	||d< |	|d	< t d
¡ |¡ d¡ |¡ d¡ |¡}
|
 |¡ |S )Nr
   ÚbatchIdÚitemId)Úwriterz.pngzenterprises/z	/batches/z
/barcodes/Úurlr   ÚbatchesÚbarcodes)r   r   r   r   r   Úblobr   ÚsaveÚupload_from_filenameÚosÚremoveÚ
public_urlr   r   r   Úset)r   r
   r    r!   Úmy_codeÚsource_file_namer&   ÚbarcodeSettingÚfiler#   ÚbarcodesRefr   r   r   ÚsaveBarcodes   s   "

(
r2   c              
      sÈ  |   d¡  d¡|   d¡  d¡|   d¡}}}t d¡ |¡ d¡ |¡  ¡ }|js2td|› dƒ‚| ¡ }|  d	¡}|r?|S t d¡ |¡ d¡ |¡ d
¡  ¡ }g }|D ]‰ ˆ  ¡ ‰ | ‡ fdd„ˆ   d¡D ƒ¡ qVt|ƒ}	t	j
 |	¡s{t	 |	¡ |D ]C}
|
  d¡}|
  d¡}|
  d¡}t  |¡}|	› d|› d|› d| d¡d › }t|dƒ}| |j¡ W d   ƒ n1 s»w   Y  q}t t|ƒ› dd|	¡}t|||› d|ddd}|j d	|i¡ |S )NÚcurrentUserr
   ÚuidÚidr   r$   zBatch z does not existÚ	imagesZipÚ
batchItemsc                    sL   g | ]"}t | d i ¡ d| d¡¡ˆ  d¡| d i ¡ d| d¡¡d‘qS )Ú	printFiler#   r5   Úname)r#   r!   r9   )r   r   )Ú.0Úi©Úitemr   r   Ú
<listcomp>5   s    ú
ûzzipImages.<locals>.<listcomp>Úimagesr#   r9   r!   ú/Ú_Ú.éÿÿÿÿzwb+Ú_zipÚzipz.zipFÚmisc)ÚfileNamer.   ÚprivateÚtype)r   r   r   r   r   r   r   Úextendr   r)   ÚpathÚmakedirsÚrequestsÚsplitÚopenÚwriteÚcontentÚshutilÚmake_archiver	   Ú	referenceÚupdate)r   r
   r4   r    r   Úbatchr6   Úitemsr?   ÚfolderÚimager#   r9   r!   Úresr0   ÚfrK   Údatar   r<   r   Ú	zipImages*   s<   . 
&
ú




$ÿ€r]   )r)   rR   rM   Úbarcoder   Úbarcode.writerr   Úflaskr   Úconfigs.firebaser   r   Úfunctions.Responser   Úfunctions.Storager   r	   Ústrr   r   r2   r]   r   r   r   r   Ú<module>   s    