initial attempt to modularise utils

This commit is contained in:
Casper da Costa-Luis 2015-06-25 15:38:29 +01:00 committed by Casper da Costa-Luis
parent 2b4d73526b
commit 18c430b3d6
2 changed files with 29 additions and 28 deletions

View File

@ -8,6 +8,7 @@ Usage:
...
"""
from __future__ import division, absolute_import
from _utils import _is_utf, _supports_unicode, _environ_cols
import sys
import time
@ -17,16 +18,6 @@ __author__ = {"github.com/": ["noamraph", "JackMc", "arkottke", "obiwanus",
__all__ = ['tqdm', 'trange', 'format_interval', 'format_meter']
def _is_utf(encoding):
return ('U8' == encoding) or ('utf' in encoding) or ('UTF' in encoding)
def _supports_unicode(file):
if not getattr(file, 'encoding', None):
return False
return _is_utf(file.encoding)
def format_interval(t):
mins, s = divmod(int(t), 60)
h, m = divmod(mins, 60)
@ -176,24 +167,7 @@ def tqdm(iterable, desc=None, total=None, leave=False, file=sys.stderr,
total = None
if (ncols is None) and (file in (sys.stderr, sys.stdout)):
try:
from termios import TIOCGWINSZ
from fcntl import ioctl
from array import array
except ImportError:
pass
else:
try:
ncols = array('h', ioctl(file, TIOCGWINSZ, '\0' * 8))[1]
except SystemExit:
raise
except:
try:
from os import environ
except ImportError:
pass
else:
ncols = int(environ.get('COLUMNS', 1)) - 1
ncols = _environ_cols()
if miniters is None:
miniters = 0

27
tqdm/_utils.py Normal file
View File

@ -0,0 +1,27 @@
def _is_utf(encoding):
return ('U8' == encoding) or ('utf' in encoding) or ('UTF' in encoding)
def _supports_unicode(file):
if not getattr(file, 'encoding', None):
return False
return _is_utf(file.encoding)
def _environ_cols(): # pragma: no cover
try:
from termios import TIOCGWINSZ
from fcntl import ioctl
from array import array
except ImportError:
return None
else:
try:
return array('h', ioctl(file, TIOCGWINSZ, '\0' * 8))[1]
except:
try:
from os import environ
except ImportError:
return None
else:
return int(environ.get('COLUMNS', 1)) - 1