Source code for nwaylib.logger

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import division, print_function

import sys
import warnings

from . import progress


[docs] class FakeProgressBar(object): def __init__(self, *args): pass def __call__(self, it): return it
[docs] def start(self): return self
[docs] def increment(self): pass
[docs] def finish(self): pass
[docs] class NullOutputLogger(object): def __init__(self): pass
[docs] def log(self, *msg): pass
[docs] def warn(self, msg): warnings.warn(msg, stacklevel=3)
[docs] def progress(self, *args, **kwargs): return FakeProgressBar()
[docs] class NormalLogger(object): def __init__(self): pass
[docs] def log(self, msg): sys.stderr.write('%s\n' % msg)
[docs] def warn(self, msg): warnings.warn(msg, stacklevel=3)
[docs] def progress(self, ndigits=6, *args, **kwargs): return progress.bar(ndigits=ndigits, *args, **kwargs)