slight tidy

This commit is contained in:
Casper da Costa-Luis 2021-08-14 21:35:51 +01:00
parent 75ccceef7f
commit 42d7b6e563
No known key found for this signature in database
GPG Key ID: F5126E5FBD2512AD
1 changed files with 8 additions and 5 deletions

View File

@ -4,9 +4,9 @@ General helpers required for `tqdm.std`.
import os
import re
import sys
import weakref
from functools import wraps
from warnings import warn
from weakref import proxy
# py2/3 compat
try:
@ -138,22 +138,25 @@ class DisableOnWriteError(ObjectWrapper):
"""
Quietly set `tqdm_instance.miniters=inf` if `func` raises `errno=5`.
"""
tqdm_instance_ref = weakref.ref(tqdm_instance)
tqdm_instance = proxy(tqdm_instance)
def inner(*args, **kwargs):
tqdm_instance = tqdm_instance_ref()
try:
return func(*args, **kwargs)
except OSError as e:
if e.errno != 5:
raise
if tqdm_instance is not None:
try:
tqdm_instance.miniters = float('inf')
except ReferenceError:
pass
except ValueError as e:
if 'closed' not in str(e):
raise
if tqdm_instance is not None:
try:
tqdm_instance.miniters = float('inf')
except ReferenceError:
pass
return inner
def __init__(self, wrapped, tqdm_instance):