Merge pull request #47 from radlws/track_v10 · python-fedex-devs/python-fedex@e2f79f0 · GitHub
Skip to content

Commit e2f79f0

Browse files
committed
Merge pull request #47 from radlws/track_v10
added track service v10, updated test
2 parents 6891de7 + edba7f7 commit e2f79f0

4 files changed

Lines changed: 108 additions & 47 deletions

File tree

examples/track_shipment.py

Lines changed: 39 additions & 6 deletions

fedex/services/track_service.py

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,16 @@ def __init__(self, config_obj, *args, **kwargs):
4545
# Holds version info for the VersionId SOAP object.
4646
self._version_info = {
4747
'service_id': 'trck',
48-
'major': '5',
48+
'major': '10',
4949
'intermediate': '0',
5050
'minor': '0'
5151
}
52-
self.TrackPackageIdentifier = None
52+
self.SelectionDetails = None
5353
"""@ivar: Holds the TrackPackageIdentifier WSDL object."""
54-
55-
self.TrackingNumberUniqueIdentifier = kwargs.pop('tracking_number_unique_id', None)
56-
57-
"""@ivar: Holds the TrackingNumberUniqueIdentifier WSDL object."""
54+
5855
# Call the parent FedexBaseService class for basic setup work.
5956
super(FedexTrackRequest, self).__init__(
60-
self._config_obj, 'TrackService_v5.wsdl', *args, **kwargs)
57+
self._config_obj, 'TrackService_v10.wsdl', *args, **kwargs)
6158
self.IncludeDetailedScans = False
6259

6360
def _prepare_wsdl_objects(self):
@@ -66,10 +63,21 @@ def _prepare_wsdl_objects(self):
6663
number or a few different things as per the Fedex spec.
6764
"""
6865

69-
self.TrackPackageIdentifier = self.client.factory.create('TrackPackageIdentifier')
66+
self.SelectionDetails = self.client.factory.create('TrackSelectionDetail')
67+
68+
# Default to Fedex
69+
self.SelectionDetails.CarrierCode = 'FDXE'
70+
71+
TrackPackageIdentifier = self.client.factory.create('TrackPackageIdentifier')
72+
7073
# Default to tracking number.
71-
self.TrackPackageIdentifier.Type = 'TRACKING_NUMBER_OR_DOORTAG'
72-
74+
TrackPackageIdentifier.Type = 'TRACKING_NUMBER_OR_DOORTAG'
75+
76+
self.SelectionDetails.PackageIdentifier = TrackPackageIdentifier
77+
78+
# Set Default as None. 'INCLUDE_DETAILED_SCANS' or None
79+
self.TrackRequestProcessingOptionType = None
80+
7381
def _check_response_for_request_errors(self):
7482
"""
7583
Checks the response to see if there were any errors specific to
@@ -99,6 +107,6 @@ def _assemble_and_send_request(self):
99107
ClientDetail=self.ClientDetail,
100108
TransactionDetail=self.TransactionDetail,
101109
Version=self.VersionId,
102-
IncludeDetailedScans=self.IncludeDetailedScans,
103-
PackageIdentifier=self.TrackPackageIdentifier,
104-
TrackingNumberUniqueIdentifier = self.TrackingNumberUniqueIdentifier)
110+
SelectionDetails=self.SelectionDetails,
111+
TrackRequestProcessingOptionType=self.TrackRequestProcessingOptionType)
112+

tests/t_track_service.py

Lines changed: 0 additions & 28 deletions
This file was deleted.

tests/test_track_service.py

Lines changed: 48 additions & 0 deletions

0 commit comments

Comments
 (0)