From 381304c9bc6742bb39ff8fa7e6e6dee8725dfdb3 Mon Sep 17 00:00:00 2001 From: Paul Friedrich Date: Sat, 7 Jan 2017 21:34:08 +0100 Subject: [PATCH] added dpd tracking --- i3pystatus/parcel.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/i3pystatus/parcel.py b/i3pystatus/parcel.py index ce04b8f..caf885e 100644 --- a/i3pystatus/parcel.py +++ b/i3pystatus/parcel.py @@ -19,6 +19,42 @@ class TrackerAPI: return "" +class DPD(TrackerAPI): + URL = "https://tracking.dpd.de/cgi-bin/simpleTracking.cgi?parcelNr={idcode}&type=1" + + def __init__(self, idcode): + self.idcode = idcode + self.url = self.URL.format(idcode=self.idcode) + + + def status(self): + ret = {} + progress = "n/a" + status = "n/a" + + with urlopen(self.url) as page: + page = page.read() + page = page.decode("UTF-8") + page = page[1:-1] # strip parenthesis of the data + + try: + import json + + data = json.loads(page) + status = data["TrackingStatusJSON"]["statusInfos"][0]["contents"][0]["label"] + except: + pass + + ret["progress"] = progress + ret["status"] = status + + return ret + + + def get_url(self): + return self.url + + class DHL(TrackerAPI): URL = "http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=en&idc={idcode}"