|
16 | 16 |
|
17 | 17 |
|
18 | 18 | class GeneralSudsPlugin(MessagePlugin): |
| 19 | + """ |
| 20 | + General Suds Plugin: Adds logging request and response functionality |
| 21 | + and prunes empty WSDL objects before sending. |
| 22 | + """ |
| 23 | + |
19 | 24 | def __init__(self, **kwargs): |
| 25 | + """Initializes the request and response loggers.""" |
20 | 26 | self.request_logger = logging.getLogger('fedex.request') |
21 | 27 | self.response_logger = logging.getLogger('fedex.response') |
22 | 28 | self.kwargs = kwargs |
23 | 29 |
|
24 | 30 | def marshalled(self, context): |
25 | | - # Removes the WSDL objects that do not have a value before sending. |
| 31 | + """Removes the WSDL objects that do not have a value before sending.""" |
26 | 32 | context.envelope = context.envelope.prune() |
27 | 33 |
|
28 | 34 | def sending(self, context): |
| 35 | + """Logs the sent request.""" |
29 | 36 | self.request_logger.info("FedEx Request {}".format(context.envelope)) |
30 | 37 |
|
31 | 38 | def received(self, context): |
| 39 | + """Logs the received response.""" |
32 | 40 | self.response_logger.info("FedEx Response {}".format(context.reply)) |
33 | 41 |
|
34 | 42 |
|
@@ -263,9 +271,9 @@ def _check_response_for_request_warnings(self): |
263 | 271 | on postal code in a Rate Service request. |
264 | 272 | """ |
265 | 273 |
|
266 | | - if self.response.HighestSeverity == "NOTE": |
| 274 | + if self.response.HighestSeverity in ("NOTE", "WARNING"): |
267 | 275 | for notification in self.response.Notifications: |
268 | | - if notification.Severity == "NOTE": |
| 276 | + if notification.Severity in ("NOTE", "WARNING"): |
269 | 277 | self.logger.warning(FedexFailure(notification.Code, |
270 | 278 | notification.Message)) |
271 | 279 |
|
@@ -326,6 +334,6 @@ def send_request(self, send_function=None): |
326 | 334 | # This method can be overridden by a method on the child class object. |
327 | 335 | self._check_response_for_request_warnings() |
328 | 336 |
|
329 | | - # Debug output. |
| 337 | + # Debug output. (See Request and Response output) |
330 | 338 | self.logger.debug("== FEDEX QUERY RESULT ==") |
331 | 339 | self.logger.debug(self.response) |
0 commit comments