diff --git a/travelInfo.py b/travelInfo.py index c698f75..71e6cfb 100755 --- a/travelInfo.py +++ b/travelInfo.py @@ -15,7 +15,7 @@ statusData = None # initialize variables... tripData = None # Your Travelynx-Api-token goes here -tlApiToken = "YOUR API TOKEN" +tlApiToken = "[YOUR TRAVELYNX API TOKEN GOES HERE…]" # Known SSIDs for some regional train Wifis... ssid_regio = [ @@ -37,6 +37,7 @@ ssid_regio = [ "Wifi@start", "alex WiFi", "trilex WiFi", + "DBLounge", ] @@ -114,55 +115,67 @@ def get_speed_cd(): # Figure out, whats the next station and filter the output for this. def get_next_db(): - if tripData["trip"]["stopInfo"] == None: - return "No TripInfo" - else: - next_stop = tripData["trip"]["stopInfo"]["actualNext"] - for i in tripData["trip"]["stops"]: - if i["station"]["evaNr"] == next_stop: - nextStationName = i["station"]["name"] - arrivalDelay = i["timetable"]["arrivalDelay"] - utime = i["timetable"]["actualArrivalTime"] / 1000 - arrivalTime = datetime.fromtimestamp(utime, tz=timezone).strftime( - "%H:%M" - ) - nextStationTrack = str(i["track"]["actual"]) - break - tripinfo = ( - nextStationName - + " " - + arrivalTime - + " (" - + arrivalDelay - + ") @ " - + nextStationTrack - ) + try: + + if tripData["trip"]["stopInfo"] == None: + return "No TripInfo" + else: + next_stop = tripData["trip"]["stopInfo"]["actualNext"] + for i in tripData["trip"]["stops"]: + if i["station"]["evaNr"] == next_stop: + nextStationName = i["station"]["name"] + arrivalDelay = i["timetable"]["arrivalDelay"] + utime = i["timetable"]["actualArrivalTime"] / 1000 + arrivalTime = datetime.fromtimestamp(utime, tz=timezone).strftime( + "%H:%M" + ) + nextStationTrack = str(i["track"]["actual"]) + break + tripinfo = ( + nextStationName + + " " + + arrivalTime + + " (" + + arrivalDelay + + ") @ " + + nextStationTrack + ) + except: + tripinfo = "Unavail" return tripinfo def get_next_tl(): try: - for i in tripDataTl["intermediateStops"]: - if i["realArrival"] >= time.time(): + if len(tripDataTl["intermediateStops"])==0: + tripinfo = tripDataTl["toStation"]["name"] + else: + for i in tripDataTl["intermediateStops"]: if i["realArrival"] == None: + nextStopArrival=i["scheduledArrival"] + else: + nextStopArrival=i["realArrival"] + + if nextStopArrival >= time.time(): + nextStationName = i["name"] + uScheduledTime = ["scheduledArrival"] + uActualTime = i["realArrival"] + if uActualTime == None: + arrivalDelay="-" + else: + arrivalDelay = "{:+.0f}".format(((uActualTime - uScheduledTime) / 60)) + + arrivalTime = datetime.fromtimestamp(nextStopArrival, tz=timezone).strftime( + "%H:%M" + ) + tripinfo = ( + nextStationName + " " + arrivalTime + " (" + arrivalDelay + ")" + ) + break + else: next - nextStationName = i["name"] - uScheduledTime = i["scheduledArrival"] - uActualTime = i["realArrival"] - arrivalDelay = "{:+.0f}".format(((uActualTime - uScheduledTime) / 60)) - arrivalTime = datetime.fromtimestamp(uActualTime, tz=timezone).strftime( - "%H:%M" - ) - tripinfo = ( - nextStationName + " " + arrivalTime + " (" + arrivalDelay + ")" - ) - break - else: - nextStationName = tripDataTl["toStation"]["name"] - tripinfo = nextStationName except: - nextStationName = tripDataTl["toStation"]["name"] - tripinfo = nextStationName + tripinfo = tripDataTl["toStation"]["name"] return tripinfo @@ -174,15 +187,16 @@ def get_trainInfo_db(): trainType = tripData["trip"]["trainType"] trainNumber = tripData["trip"]["vzn"] finalStationName = tripData["trip"]["stopInfo"]["finalStationName"] - return trainType + " " + trainNumber + " " + finalStationName - + return trainType + " " + trainNumber # Get the Trainnumber and final station of your current travelynx trip def get_trainInfo_tl(): checkin_tl() trainType = tripDataTl["train"]["type"] trainNumber = tripDataTl["train"]["no"] - fromStationName = tripDataTl["fromStation"]["name"] + #fromStationName = tripDataTl["fromStation"]["name"] + fromStationDS100=tripDataTl['fromStation']['ds100'] + toStationDS100=tripDataTl['toStation']['ds100'] toStationName = tripDataTl["toStation"]["name"] toStationTrack = tripDataTl["toStation"]["platform"] uScheduledTime = tripDataTl["toStation"]["scheduledTime"] @@ -194,9 +208,9 @@ def get_trainInfo_tl(): + " " + trainNumber + " | " - + fromStationName + + fromStationDS100 + " → " - + toStationName + + toStationDS100 + " " + arrivalTime + " ("