a
    YÒOcí	  ã                   @   sz   d Z ddlZddlZddlmZ ddlmZ e d¡Zd\Z	Z
ddœdd	„Zdee eeeddœdd„Zedkrveƒ  dS )zD
Builds all flags into a single sprite image (along with some css).
é    N)ÚIO)ÚImagez[a-z]{2}.gif$)é   é   )Úreturnc                  C   s   t j t j t¡dd¡} t  | ¡}t ddt dt	 f¡}|D ]\}t
 |¡sNq>t|d ƒd t }t|d ƒd t	 }t t j | |¡¡}| |||f¡ q>| t j | d¡¡ |jd	dd
�}| t j | d¡¡ tt j | d¡dƒ}tt j | d¡dƒ}dtt	dœ }	| |	d ¡ t|tt	ƒ | |	d ¡ t|tt	ƒ td	dƒD ]T}
| d|
dt |
 dt	 |
 |
t|
 t	|
 f ¡ t|t|
 t	|
 d|
 d� �qFd S )NZstaticÚflagsZRGBAé   r   éa   é   zsprite-hq.pngé   )ÚmethodZkmeansz
sprite.pngz
sprite.cssÚwzsprite-hq.csszß.flag-sprite {display: inline-block;width:%(x)spx;height:%(y)spx;image-rendering:-moz-crisp-edges;image-rendering:pixelated;image-rendering:-o-crisp-edges;-ms-interpolation-mode:nearest-neighbor;background-image:url('%%s')})ÚxÚyé   zT
.flag%sx {background-size:%spx %spx}
.flag%sx.flag-sprite {width:%spx;height:%spx;}z.flag%sx)Úprefix)ÚosÚpathÚjoinÚdirnameÚ__file__Úlistdirr   ÚnewÚFLAG_XÚFLAG_YÚre_flag_fileÚmatchÚordÚopenZpasteÚsaveÚquantizeÚwriteÚwrite_coordsÚrange)Z	flag_pathÚfilesZimgÚnamer   r   Zflag_imgÚcss_fileZcss_hq_fileZinitial_cssZmult© r'   úR/var/www/html/gsl.tools/lib/python3.9/site-packages/django_countries/makesprite.pyÚmain   sL    

üÿ

úþÿÿr)   Ú )r&   ÚwidthÚheightr   r   c              
   C   sp   t dƒD ]b}|| ||  }}t|d ƒ}|  d |||oDd|› d�¡¡ |  d |||odd|› d�¡¡ qd S )Nr   r	   z(
{}.flag-{} {{background-position-x:{}}}ú-Zpxz)
{}.flag-_{} {{background-position-y:{}}})r#   Úchrr!   Úformat)r&   r+   r,   r   Úir   r   Úcoder'   r'   r(   r"   <   s    ÿÿÿÿr"   Ú__main__)r*   )Ú__doc__r   ÚreÚtypingr   ZPILr   Úcompiler   r   r   r)   ÚstrÚintr"   Ú__name__r'   r'   r'   r(   Ú<module>   s   
-