o
    µQ?hE  ã                   @   sR   d dl mZ d dlmZmZ d dlmZmZmZ dd„ Z	dd„ Z
defd	d
„ZdS )é    )ÚImage)Ú
ArrayUnionÚdb)ÚdownloadFileÚget_file_pathÚsaveFilec                 C   sª   t t|ƒƒ}t |¡}t |¡}| tdƒtdƒf¡}|j\}	}
| t|
| d ƒt|	| d ƒf¡}| | ¡}|j|t|ƒt|ƒf| 	d¡d t
| ƒ}| |¡ |S )NiÄ  i6  g{®Gáz„?ÚRGBA)Úmask)ÚroundÚfloatr   ÚopenÚresizeÚintÚsizeÚrotateÚpasteÚconvertr   Úsave)ÚresultÚpath1Úpath2ÚtopÚleftÚscaleÚangleÚimg1Úimg2ÚheightÚwidthÚpath© r    úR/var/www/html/riverr-enterprise-integrations-main/functions/products/MockImages.pyÚputImage   s   


&"
r"   c                 C   s   || |  S )Nr    )ÚimageSizeinInchÚcanvasWidthinPixelÚcanvasWithinInchr    r    r!   ÚinchToPixel   s   r&   Úparamsc           %      C   s–  |   d¡  d¡|   d¡  d¡}}|   d¡}|   d¡}t d¡ |¡ d¡ |¡  ¡ }i }|jrÉ| ¡ }|  d¡}|  d	¡}	|	rCd S |  d
i ¡}
|
  d¡}|
  dg ¡}|  d¡}dd„ |D ƒ}|rÇ|rÇ|d }|d }td|  d¡ƒ}td|  d¡ƒ}t|
  dd¡ƒ}t d¡ |¡ d¡ |¡  ¡ }t d¡ |¡ d¡ |¡  ¡ }|jrÅ|jrÅ| ¡ }|  di ¡  di ¡  di ¡  di ¡}t|  dd¡ƒt|  dd¡ƒ}}| ¡ }|  di ¡  di ¡  di ¡  di ¡}t|  dd¡ƒt|  dd¡ƒ|  dd¡|  dd¡|  dd¡f\}}}}}t|  d d¡ƒ}t|  d!d¡ƒ}t|  dd¡ƒ}t|  dd¡ƒ}t|  d"d¡ƒ} t|  dd¡ƒ}!t|  dd¡ƒ}"t	|||ƒ}t	|| |ƒ}|rÃ|rÃt
|› d#|||"| |!| ||ƒ}#t|||› d#|#d$d%}$||$d< ||$d< ||$d&< ||vrÁ|$||< t d¡ |¡ d'¡ |¡jtt|$gƒd(d)d* t d¡ |¡jtt|$gƒ|d+d)d* |j td)d,¡ |S d-S d-S d.S d S )/NÚcurrentUserÚuidÚenterpriseIdÚ	productIdÚ	variantIdÚmanualProductsÚ
variationsÚcolorÚmockGeneratedÚvariantÚblankProductIdÚimagesc                 S   s   g | ]}|  d ¡dkr|‘qS )ÚtypeÚFront)Úget)Ú.0Úir    r    r!   Ú
<listcomp>/   s    z,generateVariantMockImage.<locals>.<listcomp>r   z	Shirt.pngÚurlz	Print.pngr   Ú
placementsÚenterprisesÚblankProductsÚplacementDetailsÚdefaultÚ1ÚobjectDetailsr   r   r   r   éd   r   ÚcanvasHeightÚcanvasWidthz.pngÚproducts)r4   ÚskuÚvariants)r3   T)Úmerge)r3   ÚcolorImages)r0   zNo placement details foundzNo front image found)r6   r   Ú
collectionÚdocumentÚexistsÚto_dictr   r   r   r&   r"   r   ÚsetÚdictr   Ú	referenceÚupdate)%r'   r)   r*   r+   r,   ÚrefÚ
doneColorsÚ	variationr/   r0   r1   r2   r3   ÚprintImagesÚ
frontImageÚ
printImageÚ
shirtImager   r;   ÚblankProductSettingsÚblankPlacementDetailsÚblankTopÚ	blankLeftr>   r   r   r   r   r   rC   ÚcanvasHeightInÚcanvasWidthInrD   Ú
canvasLeftÚ	canvasTopr   Úfiler    r    r!   ÚgenerateVariantMockImage    s’   "

 



  $"$Hÿ
ü
ÿþþýÿÀrb   N)ÚPILr   Úconfigs.firebaser   r   Úfunctions.Storager   r   r   r"   r&   rO   rb   r    r    r    r!   Ú<module>   s    