aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar Evelyn2017-03-21 14:05:27 +0000
committerGravatar Evelyn2017-03-21 14:05:27 +0000
commit24a8b11191e12259ffe0409c4a1ac60ba63ac460 (patch)
tree8e1d0f8fc80b8e28818cff7a44c675034718cd6b /modules
parentNR: Change time determination for trains command (diff)
signature
NR: Add length at origin and division/join, shorten summary for TIPLOC only locations
Diffstat (limited to 'modules')
-rw-r--r--modules/nr.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/modules/nr.py b/modules/nr.py
index d32fe509..6425cdaf 100644
--- a/modules/nr.py
+++ b/modules/nr.py
@@ -103,7 +103,7 @@ class Module(object):
times["arrival"] = [times[a] for a in a_types + d_types if times[a]["ut"]][0]
times["departure"] = [times[a] for a in d_types + a_types if times[a]["ut"]][0]
times["both"] = times["departure"]
- times["stb"] = times["std"]
+ times["max_sched"] = {"ut": max(times["sta"]["ut"], times["std"]["ut"])}
return times
def trains(self, event):
@@ -192,7 +192,7 @@ class Module(object):
t["origin_summary"] = "/".join(["%s%s" %(a["name"], " " + a["via"]
if a["via"] else '') for a in t["origins"]])
- trains = sorted(trains, key=lambda t: max(t["times"]["std"]["ut"], t["times"]["sta"]["ut"]) if filter["type"]=="both" else t["times"]["st" + filter["type"][0]]["ut"])
+ trains = sorted(trains, key=lambda t: t["times"]["max_sched"]["ut"] if filter["type"]=="both" else t["times"]["st" + filter["type"][0]]["ut"])
trains_filtered = []
train_locs_toc = []
@@ -273,7 +273,8 @@ class Module(object):
"first": len(stations) == 0,
"last" : False,
"cancelled" : station["isCancelled"] if "isCancelled" in station else False,
- "divide_summary": ""
+ "divide_summary": "",
+ "length": station["length"] if "length" in station else None,
}
parsed["arrival"] = datetime.strptime(station["eta"] if "eta" in station else station["ata"], "%Y-%m-%dT%H:%M:%S") if "eta" in station or "ata" in station else None
parsed["departure"] = datetime.strptime(station["etd"] if "etd" in station else station["atd"], "%Y-%m-%dT%H:%M:%S") if "etd" in station or "atd" in station else None
@@ -318,11 +319,13 @@ class Module(object):
if station["called"]: station["status"] = 0
if station["passing"]: station["status"] = 3
- station["summary"] = "%s%s%s(%s, %s%s%s%s)" % (
+ station["summary"] = "%s%s%s (%s%s%s%s%s%s)" % (
station["divide_summary"],
"*" if station["passing"] else '',
- station["name"] + " " if station["name"] != station["crs"] else '',
- station["crs"], ("~" if station["prediction"] else '') + station["timeprefix"],
+ station["name"],
+ station["crs"] + ", " if station["name"] != station["crs"] else '',
+ station["length"] + " cars, " if station["length"] and (station["first"] or station["last"] or station["divide_summary"]) else '',
+ ("~" if station["prediction"] else '') + station["timeprefix"],
Utils.color(colours[station["status"]]),
station["time"],
Utils.color(Utils.FONT_RESET)