def is_fp_closed(obj):

    try:
        # Check via the official file-like-object way.
        return obj.closed
    except AttributeError:
        pass

    try:
        # Check if the object is a container for another file-like object that
        # gets released on exhaustion (e.g. HTTPResponse).
        return obj.fp is None
    except AttributeError:
        pass

    raise ValueError("Unable to determine whether fp is closed.")
Checks whether a given file-like object is closed.
dataset/ETHPy150Open CouchPotato/CouchPotatoServer/libs/requests/packages/urllib3/util/response.py/is_fp_closed