NR: Time colouring improvements primarily for service
This commit is contained in:
parent
7c1e2ac2a0
commit
70bd021187
1 changed files with 9 additions and 6 deletions
|
@ -16,6 +16,7 @@ URL = 'https://lite.realtime.nationalrail.co.uk/OpenLDBSVWS/wsdl.aspx?ver=2016-0
|
||||||
|
|
||||||
class Module(object):
|
class Module(object):
|
||||||
_name = "NR"
|
_name = "NR"
|
||||||
|
COLOURS = [Utils.COLOR_LIGHTBLUE, Utils.COLOR_GREEN, Utils.COLOR_RED, Utils.COLOR_CYAN, Utils.COLOR_LIGHTGREY, Utils.COLOR_ORANGE]
|
||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self._client = None
|
self._client = None
|
||||||
|
@ -100,7 +101,7 @@ class Module(object):
|
||||||
a["estimate"] = k[0] == "e"
|
a["estimate"] = k[0] == "e"
|
||||||
a["on_time"] = a["ut"] - times["s"+ k[1:]]["ut"] < 300
|
a["on_time"] = a["ut"] - times["s"+ k[1:]]["ut"] < 300
|
||||||
a["status"] = 1 if a["on_time"] else 2
|
a["status"] = 1 if a["on_time"] else 2
|
||||||
if "a" + k[1:] in service: a["status"] = {"d": 3, "a": 0}[k[2]]
|
if "a" + k[1:] in service: a["status"] = {"d": 0, "a": 3}[k[2]]
|
||||||
if k[0] == "s": a["status"] = 4
|
if k[0] == "s": a["status"] = 4
|
||||||
|
|
||||||
times["arrival"] = [times[a] for a in a_types + d_types if times[a]["ut"]][0]
|
times["arrival"] = [times[a] for a in a_types + d_types if times[a]["ut"]][0]
|
||||||
|
@ -111,7 +112,7 @@ class Module(object):
|
||||||
|
|
||||||
def trains(self, event):
|
def trains(self, event):
|
||||||
client = self.client
|
client = self.client
|
||||||
colours = [Utils.COLOR_LIGHTBLUE, Utils.COLOR_GREEN, Utils.COLOR_RED, Utils.COLOR_CYAN, Utils.COLOR_LIGHTGREY]
|
colours = self.COLOURS
|
||||||
|
|
||||||
location_code = event["args_split"][0].upper()
|
location_code = event["args_split"][0].upper()
|
||||||
filter = self.filter(' '.join(event["args_split"][1:]) if len(event["args_split"]) > 1 else "", {
|
filter = self.filter(' '.join(event["args_split"][1:]) if len(event["args_split"]) > 1 else "", {
|
||||||
|
@ -231,7 +232,7 @@ class Module(object):
|
||||||
|
|
||||||
def service(self, event):
|
def service(self, event):
|
||||||
client = self.client
|
client = self.client
|
||||||
colours = [Utils.COLOR_LIGHTBLUE, Utils.COLOR_GREEN, Utils.COLOR_RED, Utils.COLOR_CYAN, Utils.COLOR_LIGHTGREY]
|
colours = self.COLOURS
|
||||||
|
|
||||||
service_id = event["args_split"][0]
|
service_id = event["args_split"][0]
|
||||||
|
|
||||||
|
@ -270,7 +271,7 @@ class Module(object):
|
||||||
for station in query["locations"][0]:
|
for station in query["locations"][0]:
|
||||||
parsed = {"name": station["locationName"],
|
parsed = {"name": station["locationName"],
|
||||||
"crs": (station["crs"] if "crs" in station else station["tiploc"]).rstrip(),
|
"crs": (station["crs"] if "crs" in station else station["tiploc"]).rstrip(),
|
||||||
"called": "atd" in station or "ata" in station,
|
"called": "atd" in station,
|
||||||
"passing": station["isPass"] if "isPass" in station else False,
|
"passing": station["isPass"] if "isPass" in station else False,
|
||||||
"first": len(stations) == 0,
|
"first": len(stations) == 0,
|
||||||
"last" : False,
|
"last" : False,
|
||||||
|
@ -313,14 +314,16 @@ class Module(object):
|
||||||
|
|
||||||
for station in stations:
|
for station in stations:
|
||||||
if station["passing"]:
|
if station["passing"]:
|
||||||
station["times"]["arrival"]["status"], station["times"]["departure"]["status"] = 3, 3
|
station["times"]["arrival"]["status"], station["times"]["departure"]["status"] = 5, 5
|
||||||
|
elif station["called"]:
|
||||||
|
station["times"]["arrival"]["status"], station["times"]["departure"]["status"] = 0, 0
|
||||||
|
|
||||||
station["summary"] = "%s%s%s (%s%s%s%s%s%s)" % (
|
station["summary"] = "%s%s%s (%s%s%s%s%s%s)" % (
|
||||||
station["divide_summary"],
|
station["divide_summary"],
|
||||||
"*" if station["passing"] else '',
|
"*" if station["passing"] else '',
|
||||||
station["name"],
|
station["name"],
|
||||||
station["crs"] + ", " if station["name"] != station["crs"] else '',
|
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 '',
|
station["length"] + " cars, " if station["length"] and (station["first"] or (station["last"]) or station["divide_summary"]) else '',
|
||||||
("~" if station["times"][filter["type"]]["estimate"] else '') +
|
("~" if station["times"][filter["type"]]["estimate"] else '') +
|
||||||
station["times"][filter["type"]]["prefix"].replace(filter["type"][0], ""),
|
station["times"][filter["type"]]["prefix"].replace(filter["type"][0], ""),
|
||||||
Utils.color(colours[station["times"][filter["type"]]["status"]]),
|
Utils.color(colours[station["times"][filter["type"]]["status"]]),
|
||||||
|
|
Loading…
Reference in a new issue