def get_or_create_tracking_item(carrier, code): try: tracking_data = trackingmore.create_tracking_data(carrier, code) trackingmore.create_tracking_item(tracking_data) tracking_data = trackingmore.get_tracking_item(carrier, code) except trackingmore.trackingmore.TrackingMoreAPIException as e: if e.err_code == 4016: # Already exists tracking_data = trackingmore.get_tracking_item(carrier, code) else: raise e return tracking_data
def get_or_create_tracking_item(carrier, code): print(carrier) try: tracking_data = trackingmore.get_tracking_item(carrier, code) except trackingmore.trackingmore.TrackingMoreAPIException as e: if e.err_code == 4031 or e.err_code == 4017: tracking_data = trackingmore.create_tracking_data(carrier, code) trackingmore.create_tracking_item(tracking_data) tracking_data = trackingmore.get_tracking_item(carrier, code) else: raise e return tracking_data
def get(code, times): try: td = trackingmore.create_tracking_data('cainiao', code) trackingmore.create_tracking_item(td) except trackingmore.trackingmore.TrackingMoreAPIException as e: if e.err_code == 4019 or e.err_code == 4021: return status.OFFLINE if e.err_code == 4016: # Already exists try: td = trackingmore.get_tracking_item('cainiao', code) except trackingmore.trackingmore.TrackingMoreAPIException as e: if e.err_code == 4019 or e.err_code == 4021: return status.OFFLINE print(td) if td['status'] == 'notfound': return status.NOT_FOUND_TM elif len(td) < 10: return status.OFFLINE return formato_obj(td)