NR: Multiline support for head, include ferry services in nrtrains
This commit is contained in:
parent
a8ea18202e
commit
b289909bcc
1 changed files with 12 additions and 5 deletions
|
@ -184,13 +184,16 @@ class Module(object):
|
||||||
", %s%s severe messages%s" % (Utils.color(Utils.COLOR_RED), nrcc_severe, Utils.color(Utils.FONT_RESET)) if nrcc_severe else ""
|
", %s%s severe messages%s" % (Utils.color(Utils.COLOR_RED), nrcc_severe, Utils.color(Utils.FONT_RESET)) if nrcc_severe else ""
|
||||||
)
|
)
|
||||||
|
|
||||||
if not "trainServices" in query and not "busServices" in query:
|
if not "trainServices" in query and not "busServices" in query and not "ferryServices" in query:
|
||||||
return event["stdout"].write("%s: No services for the next %s minutes" % (
|
return event["stdout"].write("%s: No services for the next %s minutes" % (
|
||||||
station_summary, filter["period"]))
|
station_summary, filter["period"]))
|
||||||
|
|
||||||
trains = []
|
trains = []
|
||||||
|
services = []
|
||||||
for t in query["trainServices"][0] if "trainServices" in query else [] + query["busServices"][0] if "busServices" in query else []:
|
if "trainServices" in query: services += query["trainServices"][0]
|
||||||
|
if "busServices" in query: services += query["busServices"][0]
|
||||||
|
if "ferryServices" in query: services += query["ferryServices"][0]
|
||||||
|
for t in services:
|
||||||
parsed = {
|
parsed = {
|
||||||
"rid" : t["rid"],
|
"rid" : t["rid"],
|
||||||
"uid" : t["uid"],
|
"uid" : t["uid"],
|
||||||
|
@ -269,7 +272,7 @@ class Module(object):
|
||||||
t["uid"], t["head"], t["toc"], "bus" if t["bus"] else t["platform"],
|
t["uid"], t["head"], t["toc"], "bus" if t["bus"] else t["platform"],
|
||||||
"~" if t["times"]["both"]["estimate"] else '',
|
"~" if t["times"]["both"]["estimate"] else '',
|
||||||
t["times"]["both"]["prefix"] + t["times"]["both"]["short"],
|
t["times"]["both"]["prefix"] + t["times"]["both"]["short"],
|
||||||
"←" if not filter["type"][0] in "ad" and t["terminating"] else "→",
|
"←" if t["terminating"] or filter["type"]=="arrival" else "→",
|
||||||
t["origin_summary"] if t["terminating"] or filter["type"]=="arrival" else t["dest_summary"]
|
t["origin_summary"] if t["terminating"] or filter["type"]=="arrival" else t["dest_summary"]
|
||||||
) for t in trains_filtered])
|
) for t in trains_filtered])
|
||||||
else:
|
else:
|
||||||
|
@ -480,7 +483,11 @@ class Module(object):
|
||||||
|
|
||||||
query = client.service.QueryServices(service_id, datetime.utcnow().date().isoformat(),
|
query = client.service.QueryServices(service_id, datetime.utcnow().date().isoformat(),
|
||||||
datetime.utcnow().time().strftime("%H:%M:%S+0000"))
|
datetime.utcnow().time().strftime("%H:%M:%S+0000"))
|
||||||
event["stdout"].write(", ".join(["h/%s r/%s u/%s rs/%s %s (%s) -> %s (%s)" % (a["trainid"], a["rid"], a["uid"], a["rsid"], a["originName"], a["originCrs"], a["destinationName"], a["destinationCrs"]) for a in query["serviceList"][0]]))
|
services = query["serviceList"][0]
|
||||||
|
if event.get("external"):
|
||||||
|
event["stdout"].write("\n".join(["{a.uid:6} {a.trainid:4} {a.originName} ({a.originCrs}) → {a.destinationName} ({a.destinationCrs})".format(a=a) for a in services]))
|
||||||
|
else:
|
||||||
|
event["stdout"].write(", ".join(["h/%s r/%s u/%s rs/%s %s (%s) -> %s (%s)" % (a["trainid"], a["rid"], a["uid"], a["rsid"], a["originName"], a["originCrs"], a["destinationName"], a["destinationCrs"]) for a in services]))
|
||||||
|
|
||||||
def service_code(self, event):
|
def service_code(self, event):
|
||||||
client = self.client
|
client = self.client
|
||||||
|
|
Loading…
Reference in a new issue