urbanairship/kiddiepool — pull request #8 by schmichael (2012-05-11 01:32:29+00:00)
Title: Pass full exception data to handle_exception and use issubclass

The __exit__ method on context managers in Python 2.6 receives
socket.error instances (exc_value in this code) as tuples (Python 2.7
receives actual socket.error instances) which breaks the default
handle_exception implementation.

The default handle_exception implementation used isinstance(exc_value,
socket.error) to determine is exc_value was a socket.error, and if so:
invalidate (close) the socket. This is critical to reconnect logic
because if the socket isn't invalidated it will be reused.

This should fix handle_exception and therefore validation/retry logic
for Python 2.6.