def test_track_fedex(self): p = Package('012345678901234') try: p.track() except NotImplementedError: pass else: raise AssertionError('tracking fedex package should fail')
def track_shipment(shipment): """Receives a shipment object. Returns a dictionary of activities. activities = { 'shipment.id': [ {activity}, {activity} ] }""" activities = {} p = Package(shipment.tracking_no) activity_entries = p.track() activities[shipment.id] = activity_entries return activities
def test_track_ups(self): if not packagetrack.config.has_section('UPS'): raise SkipTest # This is just a random tracking number found on google. To find more, # google for something like: # ["Tracking Detail" site:wwwapps.ups.com inurl:WebTracking] p = Package('1Z12345E0291980793') info = p.track() assert info.status != '' assert isinstance(info.delivery_date, date) assert isinstance(info.last_update, datetime)
def test_track_ups(self): if not packagetrack.config.has_section('UPS'): raise SkipTest # This is just a random tracking number found on google. To find more, # google for something like: # ["Tracking Detail" site:wwwapps.ups.com inurl:WebTracking] p = Package('1Z58R4770350434926') info = p.track() assert info.status != '' assert isinstance(info.delivery_date, date) assert isinstance(info.last_update, datetime)
def track(): tracking_number = request.args.get('tn', '') if not tracking_number: return redirect(url_for('index')) p = Package(tracking_number) status_list = p.track() locations = [email_helper.parse_location_no_save(loc) for loc in status_list] cities = ['{city}, {state}'.format(city=loc.get('city'), state=loc.get('state')) for loc in locations if loc.get('city') is not None and loc.get('state') is not None] return render_template("track.html", shipment=p, locations=locations, cities=json.dumps(cities), GOOGLE_MAPS=app.config.get('GOOGLE_MAPS'))