
    R˲i
              
           d Z ddlZddlZddlZddlmZ ddlZdZdZg dZ	g dZ
ded	ed
ededdf
dZded	ededdfdZd Zedk(  r e        yy)uK   
InsuRo Icon Converter
Converts favicon.svg → PNG variants + favicon.ico
    N)Imagez,/home/jay/projects/InsuRo/public/favicon.svgz /home/jay/projects/InsuRo/public))zpwa-512.png   r   )zpwa-192.png   r   )zapple-touch-icon.png   r   )zfavicon-32.png    r   )zfavicon-16.png   r   ))r   r   )r   r   )0   r	   svg_pathout_pathwidthheightreturnc                     t        j                  | |||       t        j                  j	                  |      }t        dt        j                  j                  |      dd| d| d|dd	       y )N)urlwrite_tooutput_widthoutput_height  [OK] 30s  x, bytes)cairosvgsvg2pngospathgetsizeprintbasename)r
   r   r   r   sizes        //home/jay/workspace/teams/dev2/convert_icons.py
svg_to_pngr#      sg    	 77??8$D	GBGG$$X.s32eWAfXRQxv
VW    sizesc           
      F   g }|D ]e  \  }}t        j                  | ||      }t        j                  t	        j
                  |            j                  d      }|j                  |       g |j                  d d       |d   j                  |d|D cg c]   }|j                  d   |j                  d   f" c}|dd	 
       t        j                  j                  |      }dj                  d t        |      D              }	t!        dddd|	 d|dd       y	c c}w )z8Render each size from SVG then pack into multi-size ICO.)r   r   r   RGBAc                      | j                   d   S )Nr   )r!   )is    r"   <lambda>zbuild_ico.<locals>.<lambda>/   s    affQi r$   T)keyreverser   ICO   N)formatr%   append_images+c              3   6   K   | ]  }|d     d|d      yw)r   r   r.   N ).0ss     r"   	<genexpr>zbuild_ico.<locals>.<genexpr>8   s#     >11a!v&>s   r   favicon.icor   z  [z]  r   r   )r   r   r   openioBytesIOconvertappendsortsaver!   r   r   r   joinsortedr   )
r
   r   r%   imageswhrawimgr!   labelss
             r"   	build_icorG   &   s   F 18!1MjjC)11&9c KK'K6
1INN5;<cSXXa[)<QRj	   77??8$DXX>u>>F	GM#&c&T!HF
CD =s   %Dc            	         t        d       t        dt                t        dt         d       t        j                  j                  t              s't        dt                t        j                  d       t        j                  t        d       t        d	       t        D ]<  \  } }}t        j                  j                  t        |       }t        t        |||       > t        d
       t        j                  j                  t        d      }t        t        |t               t        d       t        d       t        j                  t              D ]  }t        j                  j                  t        |      }t        j                  j                  |      sG|j                  d      sYt        d|ddt        j                  j!                  |      dd        y )Nz
InsuRo Icon Conversionz
  SVG   : z
  OutDir: 
z[ERROR] SVG not found: r.   T)exist_okzGenerating PNG files...z
Generating favicon.ico...r7   z#
All files generated successfully.
zOutput summary:)z.pngz.icoz.svgr   35sz>10,r   )r   SVG_PATHOUT_DIRr   r   isfilesysexitmakedirsTARGETSr?   r#   rG   	ICO_SIZESlistdirendswithr   )namerB   rC   outico_pathfps          r"   mainr[   <   sV   	$&	Jxj
!"	Jwir
"#77>>(#'z23KK$'	
#$ (
aggll7D)8S!Q'( 

'(ww||G]3Hh),	
12 

ZZ  AGGLL!$77>>!,D!EBqgR 248?@Ar$   __main__)__doc__r   rO   r   PILr   r9   rL   rM   rR   rS   strintr#   listrG   r[   __name__r3   r$   r"   <module>rc      s   
 
 
   	9- +	X X XC X X XE Es E4 ED E,A< zF r$   