commit 44b0cfc4cca7eb08ebf979dd1a58af88233aa80a
parent 38fe7eb1486a54050b040316a67f93ba75d43b5d
Author: Christoph Lohmann <20h@r-36.net>
Date: Sat, 27 May 2023 19:05:56 +0200
Add Emirates stub.
Emirates sucks at getting us a proper flight status. Only amateurs use
bootstrap. The web sucks.
Diffstat:
1 file changed, 26 insertions(+), 19 deletions(-)
diff --git a/inflight-status b/inflight-status
@@ -8,7 +8,8 @@
import os
import sys
import getopt
-from lxml import html
+from lxml import etree
+import io
import requests
from terminaltables import SingleTable as Table
@@ -26,11 +27,13 @@ def main(args):
flightdatauris = {
"panasonic": "http://services.inflightpanasonic.aero/inflight/services/flightdata/v1/flightdata",
- "airfrance": "https://connect.airfrance.com/ach/api/flightdata"
+ "airfrance": "https://connect.airfrance.com/ach/api/flightdata",
+ "emirates": "https://portal.inflight.onair.aero/ac/UAE/en/connect"
}
useproxy = False
dotable = True
+ nnfd = {}
for o, a in opts:
if o == "-h":
usage(args[0])
@@ -59,9 +62,8 @@ def main(args):
if statustype == None:
return 1
- flightdata = fd.json()
-
if statustype == "panasonic":
+ flightdata = fd.json()
tablehdr = "flight %s from %s to %s" % (
flightdata["td_id_fltdata_flight_number"],
flightdata["td_id_fltdata_departure_baggage_id"],
@@ -80,6 +82,7 @@ def main(args):
del nfd
elif statustype == "airfrance":
+ flightdata = fd.json()
tablehdr = "flight %s from %s to %s" % (
flightdata["flight"]["number"],
flightdata["flight"]["originIATA"],
@@ -99,21 +102,25 @@ def main(args):
nnfd = lineardict(flightdata)
- nnfdkeys = list(nnfd.keys())
- nnfdkeys.sort()
- if dotable == True:
- print(tablehdr)
- tabledata = [["key", "value"]]
- for k in nnfdkeys:
- tabledata.append([k, nnfd[k]])
-
- table = Table(tabledata, tablehdr)
- table.outer_border = False
- print(table.table)
- else:
- print(tablehdr)
- for k in nnfdkeys:
- print("%s: %s" % (k, nnfd[k]))
+ elif statustype == "emirates":
+ tablehdr = "Emirates sucks at doing proper flight status."
+
+ if nnfd != None:
+ nnfdkeys = list(nnfd.keys())
+ nnfdkeys.sort()
+ if dotable == True:
+ print(tablehdr)
+ tabledata = [["key", "value"]]
+ for k in nnfdkeys:
+ tabledata.append([k, nnfd[k]])
+
+ table = Table(tabledata, tablehdr)
+ table.outer_border = False
+ print(table.table)
+ else:
+ print(tablehdr)
+ for k in nnfdkeys:
+ print("%s: %s" % (k, nnfd[k]))
return 0