o
    z‡j  ã                   @   s>   d dl Z d dlZd dlZdZdZdd„ Zedkreƒ  dS dS )é    NzKhttps://mtr.ciapongi.szablix.pl/mtr/api/map/stations-and-routes?dimension=0z/app/web/stations.jsonc            !      C   s0  t dƒ z÷tjtdd} |  ¡  |  ¡ }d|vrW d S |d }i }i }d|v rL|d D ]}| d¡}|| dd¡d	 | d
d¡¡i dœ||< g ||< q,d|v r¶|d D ]a}| d¡}| dd¡}	| dd¡}
|
ro|
 ¡ dkrv|	 d¡d }
d	 | d
d¡¡}| dg ¡D ]/}| d¡}| d¡}| d¡}||v r´|d ur´||  	||g¡ ||	|
|dœ|| d |< q…qTi }| 
¡ D ]'\}}|sÃq¼tdd„ |D ƒƒt|ƒ }tdd„ |D ƒƒt|ƒ }||g||< q¼g }d|v r›|d D ]«}g }| d¡}| dd¡}	| dd¡}
|
r|
 ¡ dkr|	 d¡d }
d	 | d
d¡¡}g }d}| dg ¡}| dg ¡}|rC|d  d¡}||v rC|| d }|D ]?}| d¡}|r`| 	|| dd¡| dd¡d œ¡ ||v rn| 	|| ¡ qE| d¡d urƒ| 	| d¡| d¡g¡ qEt|ƒd!krš| 	||	|
|||||d"œ¡ qïg }| 
¡ D ]*\}}|| }t|d  ¡ ƒ}|jd#d$„ d% | 	|d |d |d
 ||d&œ¡ q¡||d'œ}ttd(d)d*}tj||d+d, W d   ƒ n	1 sìw   Y  t d-t|ƒ› ƒ W d S  ty }  zt d.| › ƒ W Y d } ~ d S d } ~ ww )/Nz4--- Start: Pobieranie, Centrowanie i Kolorowanie ---é   )ÚtimeoutÚdataÚstationsÚidÚnamez	Bez nazwyz#{:06x}Úcolori  ÿ )r   r   r   ÚlinesÚroutesZTrasaÚnumberÚ z||r   ÚxÚz)r   r   r   r   r	   c                 s   ó    | ]}|d  V  qdS )r   N© ©Ú.0Úpr   r   ú/app/update_map.pyÚ	<genexpr>1   ó   € zmain.<locals>.<genexpr>c                 s   r   )é   Nr   r   r   r   r   r   2   r   zKierunek nieznanyÚ	durationséÿÿÿÿÚ1Ú	dwellTimei'  )r   Úplatformr   r   )r   r   r   Zdestinationr   Úpathr   r   c                 S   s   | d S )Nr   r   )r   r   r   r   Ú<lambda>_   s    zmain.<locals>.<lambda>)Úkey)r   r   r   Zcoordsr	   )r   r
   Úwzutf-8)ÚencodingF)Úensure_asciizSUKCES! Stacji: u   BÅÄ„D: )ÚprintÚrequestsÚgetÚAPI_URLÚraise_for_statusÚjsonÚformatÚstripÚsplitÚappendÚitemsÚsumÚlenÚlistÚvaluesÚsortÚopenÚOUTPUT_FILEÚdumpÚ	Exception)!ÚresponseZraw_jsonZsource_dataZstation_infoZstation_pointsÚsZsidÚrZr_idZr_nameZr_numberZr_colorZst_entryZsxÚszZstation_centroidsZpointsZavg_xZavg_zZfinal_routesZpath_coordsZ
r_stationsZr_destZst_listZr_durationsZ
last_st_idZfinal_stationsÚcenterÚinfoZ
lines_listÚoutputÚfÚer   r   r   Úmain   s°   

þ




ÿ€ú


"


ý*€þ€ÿ
ÿ,€ r@   Ú__main__)r(   r$   Úosr&   r4   r@   Ú__name__r   r   r   r   Ú<module>   s    b