Package fedex :: Module base_service :: Class FedexBaseService
[hide private]
[frames] | no frames]

Class FedexBaseService

source code

object --+
         |
        FedexBaseService
Known Subclasses:

This class is the master class for all Fedex request objects. It gets all of the common SOAP objects created via suds and populates them with values from a FedexConfig object, along with keyword arguments via __init__.


Note: This object should never be used directly, use one of the included sub-classes.

Instance Methods [hide private]
 
__init__(self, config_obj, wsdl_name, *args, **kwargs)
This constructor should only be called by children of the class.
source code
 
__set_web_authentication_detail(self)
Sets up the WebAuthenticationDetail node.
source code
 
__set_client_detail(self, *args, **kwargs)
Sets up the ClientDetail node, which is required for all shipping related requests.
source code
 
__set_transaction_detail(self, *args, **kwargs)
Checks kwargs for 'customer_transaction_id' and sets it if present.
source code
 
__set_version_id(self)
Pulles the versioning info for the request from the child request.
source code
 
_prepare_wsdl_objects(self)
This method should be over-ridden on each sub-class.
source code
 
__check_response_for_fedex_error(self)
This checks the response for general Fedex errors that aren't related to any one WSDL.
source code
 
_check_response_for_request_errors(self)
Override this in each service module to check for errors that are specific to that module.
source code
 
create_wsdl_object_of_type(self, type_name)
Creates and returns a WSDL object of the specified type.
source code
 
_assemble_and_send_request(self)
This method should be over-ridden on each sub-class.
source code
 
send_request(self, send_function=None)
Sends the assembled request on the child object.
source code
 
_check_response_for_request_warnings(self)
Override this in a service module to check for errors that are specific to that module.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Instance Variables [hide private]
  logger
Python logger instance with name 'fedex'.
  config_obj
The FedexConfig object to pull auth info from.
  VersionId
Holds details on the version numbers of the WSDL.
  WebAuthenticationDetail
WSDL object that holds authentication info.
  ClientDetail
WSDL object that holds client account details.
  response
The response from Fedex.
  TransactionDetail
Holds customer-specified transaction IDs.
  _version_info
#ivar: Set in each service class.
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, config_obj, wsdl_name, *args, **kwargs)
(Constructor)

source code 

This constructor should only be called by children of the class. As is such, only the optional keyword arguments caught by **kwargs will be documented.

Parameters:
  • customer_transaction_id (str) - A user-specified identifier to differentiate this transaction from others. This value will be returned with the response from Fedex.
Overrides: object.__init__

__set_web_authentication_detail(self)

source code 

Sets up the WebAuthenticationDetail node. This is required for all requests.

_prepare_wsdl_objects(self)

source code 

This method should be over-ridden on each sub-class. It instantiates any of the required WSDL objects so the user can just print their __str__() methods and see what they need to fill in.

_check_response_for_request_errors(self)

source code 

Override this in each service module to check for errors that are specific to that module. For example, invalid tracking numbers in a Tracking request.

create_wsdl_object_of_type(self, type_name)

source code 

Creates and returns a WSDL object of the specified type. :param type_name: specifies the object's type name from WSDL.

_assemble_and_send_request(self)

source code 

This method should be over-ridden on each sub-class. It assembles all required objects into the specific request object and calls send_request. Objects that are not set will be pruned before sending via GeneralSudsPlugin marshalled function.

send_request(self, send_function=None)

source code 

Sends the assembled request on the child object.

Parameters:
  • send_function (function reference) - A function reference (passed without the parenthesis) to a function that will send the request. This allows for overriding the default function in cases such as validation requests.

_check_response_for_request_warnings(self)

source code 

Override this in a service module to check for errors that are specific to that module. For example, changing state/province based on postal code in a Rate Service request.


Instance Variable Details [hide private]

response

The response from Fedex. You will want to pick what you want out here here. This object does have a __str__() method, you'll want to print or log it to see what possible values you can pull.

_version_info

#ivar: Set in each service class. Holds version info for the VersionId SOAP object.