"""Utilities for providing backward compatibility."""frompip._vendorimportsixdefget_exc_info_from_future(future):""" Get an exc_info value from a Future. Given a a Future instance, retrieve an exc_info value suitable for passing in as the exc_info parameter to logging.Logger.log() and related methods. On Python 2, this will be a (type, value, traceback) triple. On Python 3, this will be an exception instance (with embedded traceback). If there was no exception, None is returned on both versions of Python. """ifsix.PY3:returnfuture.exception()else:ex,tb=future.exception_info()ifexisNone:returnNonereturntype(ex),ex,tb