# Colored log import sys from distutils.log import * # noqa: F403 from distutils.log import Log as old_Log from distutils.log import _global_log from numpy.distutils.misc_util import (red_text, default_text, cyan_text, green_text, is_sequence, is_string) def _fix_args(args,flag=1): if is_string(args): return args.replace('%', '%%') if flag and is_sequence(args): return tuple([_fix_args(a, flag=0) for a in args]) return args class Log(old_Log): def _log(self, level, msg, args): if level >= self.threshold: if args: msg = msg % _fix_args(args) if 0: if msg.startswith('copying ') and msg.find(' -> ') != -1: return if msg.startswith('byte-compiling '): return print(_global_color_map[level](msg)) sys.stdout.flush() def good(self, msg, *args): """ If we log WARN messages, log this message as a 'nice' anti-warn message. """ if WARN >= self.threshold: if args: print(green_text(msg % _fix_args(args))) else: print(green_text(msg)) sys.stdout.flush() _global_log.__class__ = Log good = _global_log.good def set_threshold(level, force=False): prev_level = _global_log.threshold if prev_level > DEBUG or force: # If we're running at DEBUG, don't change the threshold, as there's # likely a good reason why we're running at this level. _global_log.threshold = level if level <= DEBUG: info('set_threshold: setting threshold to DEBUG level,' ' it can be changed only with force argument') else: info('set_threshold: not changing threshold from DEBUG level' ' %s to %s' % (prev_level, level)) return prev_level def get_threshold(): return _global_log.threshold def set_verbosity(v, force=False): prev_level = _global_log.threshold if v < 0: set_threshold(ERROR, force) elif v == 0: set_threshold(WARN, force) elif v == 1: set_threshold(INFO, force) elif v >= 2: set_threshold(DEBUG, force) return {FATAL:-2,ERROR:-1,WARN:0,INFO:1,DEBUG:2}.get(prev_level, 1) _global_color_map = { DEBUG:cyan_text, INFO:default_text, WARN:red_text, ERROR:red_text, FATAL:red_text } # don't use INFO,.. flags in set_verbosity, these flags are for set_threshold. set_verbosity(0, force=True) _error = error _warn = warn _info = info _debug = debug def error(msg, *a, **kw): _error(f"ERROR: {msg}", *a, **kw) def warn(msg, *a, **kw): _warn(f"WARN: {msg}", *a, **kw) def info(msg, *a, **kw): _info(f"INFO: {msg}", *a, **kw) def debug(msg, *a, **kw): _debug(f"DEBUG: {msg}", *a, **kw)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
checks | Folder | 0755 |
|
|
command | Folder | 0755 |
|
|
fcompiler | Folder | 0755 |
|
|
mingw | Folder | 0755 |
|
|
tests | Folder | 0755 |
|
|
__config__.py | File | 5.02 KB | 0644 |
|
__init__.py | File | 2.03 KB | 0644 |
|
__init__.pyi | File | 119 B | 0644 |
|
_shell_utils.py | File | 2.55 KB | 0644 |
|
armccompiler.py | File | 962 B | 0644 |
|
ccompiler.py | File | 27.95 KB | 0644 |
|
ccompiler_opt.py | File | 97.98 KB | 0644 |
|
conv_template.py | File | 9.31 KB | 0644 |
|
core.py | File | 7.98 KB | 0644 |
|
cpuinfo.py | File | 22.11 KB | 0644 |
|
exec_command.py | File | 10.04 KB | 0644 |
|
extension.py | File | 3.48 KB | 0644 |
|
from_template.py | File | 7.73 KB | 0644 |
|
fujitsuccompiler.py | File | 834 B | 0644 |
|
intelccompiler.py | File | 4.13 KB | 0644 |
|
lib2def.py | File | 3.54 KB | 0644 |
|
line_endings.py | File | 1.98 KB | 0644 |
|
log.py | File | 2.81 KB | 0644 |
|
mingw32ccompiler.py | File | 21.55 KB | 0644 |
|
misc_util.py | File | 87.26 KB | 0644 |
|
msvc9compiler.py | File | 2.14 KB | 0644 |
|
msvccompiler.py | File | 2.58 KB | 0644 |
|
npy_pkg_config.py | File | 12.67 KB | 0644 |
|
numpy_distribution.py | File | 634 B | 0644 |
|
pathccompiler.py | File | 713 B | 0644 |
|
setup.py | File | 634 B | 0644 |
|
system_info.py | File | 110.53 KB | 0644 |
|
unixccompiler.py | File | 5.3 KB | 0644 |
|