this would be nice to help the user understand what actually happened:

    except TimeoutException, exc:
        print '** %s: %s' % (exc.__class__.__name__, exc)