|
@@ -9,6 +9,11 @@ import urllib2
|
|
|
import yaml
|
|
|
from OmegaExpansion import oledExp
|
|
|
|
|
|
+class Departure:
|
|
|
+ def __init__(self, line, towards, predicted_time):
|
|
|
+ self.line = line
|
|
|
+ self.towards = towards
|
|
|
+ self.predicted_time = predicted_time
|
|
|
|
|
|
def request_wiener_linien_departures(api_key, rbl):
|
|
|
req = urllib2.Request(
|
|
@@ -29,12 +34,11 @@ def request_wiener_linien_departures(api_key, rbl):
|
|
|
for line_data in monitors_data[0]['lines']:
|
|
|
assert 1 == len(line_data['departures'])
|
|
|
for departure_data in line_data['departures']['departure']:
|
|
|
- if not 'vehicle' in departure_data:
|
|
|
- departure_data['vehicle'] = {
|
|
|
- 'name': line_data['name'],
|
|
|
- 'towards': line_data['towards'],
|
|
|
- }
|
|
|
- departures.append(departure_data)
|
|
|
+ departures.append(Departure(
|
|
|
+ line=departure_data['vehicle']['name'] if 'vehicle' in departure_data else line_data['name'],
|
|
|
+ towards=departure_data['vehicle']['towards'] if 'towards' in departure_data else line_data['towards'],
|
|
|
+ predicted_time=dateutil.parser.parse(departure_data['departureTime']['timeReal']),
|
|
|
+ ))
|
|
|
return server_time, departures
|
|
|
|
|
|
|
|
@@ -60,9 +64,9 @@ def run(config_path):
|
|
|
for departure_idx, departure in enumerate(departures):
|
|
|
oledExp.setCursor(1 + departure_idx, 0)
|
|
|
oledExp.write("%s %s %s" % (
|
|
|
- departure['departureTime']['countdown'],
|
|
|
- departure['vehicle']['name'],
|
|
|
- departure['vehicle']['towards'],
|
|
|
+ departure.predicted_time.strftime('%H:%M:%S'),
|
|
|
+ departure.line,
|
|
|
+ departure.towards,
|
|
|
))
|
|
|
time.sleep(9.9)
|
|
|
|