def checkPackage(self, source_name, source_host, message): if source_name not in self.packages: self.bot.pm(source_name, "I don't seem to be tracking any of your packages") return package = self.packages[source_name] root = xml_to_dict(get_interface(package.shipper).send_request(package.tracking_number))['TrackResponse']['Shipment'] info = root['Package'] activity = info['Activity'] lastUpdateDate = datetime.strptime(activity['Date'], "%Y%m%d").date() lastUpdateTime = datetime.strptime(activity['Time'], "%H%M%S").time() lastUpdate = datetime.combine(lastUpdateDate, lastUpdateTime) location = activity['ActivityLocation']['Address']['City'] + ", " + activity['ActivityLocation']['Address']['CountryCode'] status = activity['Status']['StatusType']['Description'] estimateDescription = info['Message']['Description'] estimateDate = datetime.strptime(root['ScheduledDeliveryDate'],"%Y%m%d") self.bot.pm(source_name, "Last update: " + lastUpdate.strftime("%Y-%m-%d %H:%M") + " -- " + status + " -- " + location + " -- " + estimateDescription + ". Est delivery date: " + estimateDate.strftime("%Y-%m-%d"))
def test_roundtrip(self): assert (xml_dict.xml_to_dict(xml_dict.dict_to_xml(test_dict)) == test_dict)
def test_xml_to_dict(self): assert xml_dict.xml_to_dict(test_xml) == test_dict
def test_roundtrip(self): assert (xml_dict.xml_to_dict( xml_dict.dict_to_xml(test_dict)) == test_dict)