o
    +kh                     @   sJ   d dl m  mZ d dlmZmZmZ d dlm	Z	 d	ddZ
d
ddZdS )    N)Image	ImageDraw	ImageFont)TOWN_COORDS0c              
   C   s   t | }| }g }|dD ]N}|jdd}||vrq|d| d}|d u r,q|dj}	|dj}
d }|dkrJ|d	}|d urJ|j}|||| d
 || d |	||
d q|S )Nz.//area[@type='location']descriptionZUnknownzforecast-period[@index='z']z#element[@type='forecast_icon_code']z(element[@type='air_temperature_maximum']r   z(element[@type='air_temperature_minimum']r      )namexyicontmintmax)ETparseZgetrootfindallZattribgetfindtextappendprintmap_idlenweather_data)Zxml_file	coord_setforecast_indextreerootdataZareaZtownZforecastr   r   r   Z	tmin_elementry r    -\\STUART-PC\L-Server\var\www\html\wgfx\gen.pyparse_weather_data   s4   




	r"   c                 C   s  t |i }t| ||}t|d}t|}t	dd}	|D ]}
|
d  }|
d  }z.d|
d  d}t|d
d	}|
d rGd
nd}|||
d | |
d d f| W n# ty~ } ztd|
d  d|
d  d|  W Y d }~nd }~ww d}|d }|
d rt|
d }|jd||	dd }|
d | |d  d }|j|d |
d d f||	dd |
d rt|
d }|jd||	dd }|
d r|
d d | |d  d n|
d d }|j||
d d f||	dd q!|d u rd}|| |S )NZRGBAz*/var/www/html/wgfx/static/fonts/barlow.ttf.   r   r   zstatic/icons/r   z.png)<   r$      d   r
   r   
   u   ⚠️ Could not load icon z for r	   z:       )r   r   )font!         z#0a0963)r*   fill   z#ff6229zstatic/e.png)r   r   r"   r   openconvertr   ZDrawr   ZtruetyperesizeZpaste	Exceptionr   strZtextbboxr   save)Zxml_pathZbase_image_pathr   r   output_pathr   r   baseZdrawr*   r   Z
tmin_labelZ
tmax_labelZ	icon_pathZicon_imgZicon_offseteZlabel_box_widthZhalfZ
tmin_widthZtmin_xZ
tmax_widthZtmax_xr    r    r!   generate_map,   sD   


&."0
r9   )r   )Nr   N)Zxml.etree.ElementTreeZetreeZElementTreer   ZPILr   r   r   Zcoordsr   r"   r9   r    r    r    r!   <module>   s
    
'