o
    8si                     @   sb   d dl Z d dl T d dlZd dlZd dlZd dlZd dlmZ d dlZd dlZdd Zd
dd	Z	dS )    N)*)gtfs_realtime_pb2c           
   	   C   s   d}t t}tdd}||j W d    n1 sw   Y  i }tdI}|d+}t	|
 d }|D ]}|d }	| |	 v rR|d ||	< q>W d    n1 s]w   Y  W d    |S W d    |S 1 suw   Y  |S )N https://go.gv.at/ogdwienwlstatic
static.zipwb	stops.txtutf-8	stop_namestop_id)requestsgeturlopenwritecontentzipfileZipFilecsv
DictReaderreaddecode
splitlineslower)
operatorstation
static_urlrfstopszreaderrowname r#   `C:\Users\computer\Desktop\notes\tskylt4.0\server\20260120 - rate limit + GERMANY GTFS\austria.py	wl_lookup   s.   


r%   wlatc              	   C   s,  d}t |}tdd}||j W d    n1 sw   Y  i }g }i }i }	td}
|
d}t|	 
d }|D ]}|||d < qDW d    n1 sWw   Y  |
d$}t|	 
d }|D ]}|d | kr}|| qpW d    n1 sw   Y  |
d}t|	 
d }|D ]}|||d	 < qW d    n1 sw   Y  |
d
}t|	 
d }|D ]}||	|d < qW d    n1 sw   Y  W d    n1 sw   Y  t }d}|t |j g }|D ]}|d	 }|d }d }|jD ]9}|ds q|jjj|kr*q|jjD ]}|j| krL|drB|jj}q.|drL|jj}q.q|r_tj|}|d}ntj d}| d| }|| }|	|d  }|d }|d }|d|||d dg d}|| q|S )Nr   r   r   r   r   r
   zstop_times.txtz	trips.txttrip_idz
routes.txtroute_idz&https://go.gv.at/ogdwienwlrttripupdateZarrival_timetrip_update	departurearrivalz%Y%m%dT%H:%M:%Sz%Y%m%dTroute_short_nameZtrip_headsign0
route_type)idtransport_mode)destinationdirection_codeexpectedline
deviations)r   r   r   r   r   r   r   r   r   r   r   r   appendr   FeedMessageParseFromStringentityHasFieldr*   tripr(   stop_time_updater
   r+   timer,   datetimefromtimestampstrftimedatetoday)r
   r   countryr   r   r   r   
stop_timestripsroutesr   r    r!   feedZrt_urlresultsstr(   r,   Zrt_timer;   ZstudtwhenrD   r=   router6   r"   
new_recordr#   r#   r$   wl_load_departures   s   


rP   )r&   r'   )
vr@   r   r   r   google.transitr   jsonr%   rP   r#   r#   r#   r$   <module>   s    