CoolFace
Apppublic

Aluode/PerceptionLabPortable

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
utils.py50 linesDownload Raw Back to tests
1# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.2from contextlib import contextmanager3from io import StringIO4import sys5import os6 7 8class StreamTTY(StringIO):9    def isatty(self):10        return True11 12class StreamNonTTY(StringIO):13    def isatty(self):14        return False15 16@contextmanager17def osname(name):18    orig = os.name19    os.name = name20    yield21    os.name = orig22 23@contextmanager24def replace_by(stream):25    orig_stdout = sys.stdout26    orig_stderr = sys.stderr27    sys.stdout = stream28    sys.stderr = stream29    yield30    sys.stdout = orig_stdout31    sys.stderr = orig_stderr32 33@contextmanager34def replace_original_by(stream):35    orig_stdout = sys.__stdout__36    orig_stderr = sys.__stderr__37    sys.__stdout__ = stream38    sys.__stderr__ = stream39    yield40    sys.__stdout__ = orig_stdout41    sys.__stderr__ = orig_stderr42 43@contextmanager44def pycharm():45    os.environ["PYCHARM_HOSTED"] = "1"46    non_tty = StreamNonTTY()47    with replace_by(non_tty), replace_original_by(non_tty):48        yield49    del os.environ["PYCHARM_HOSTED"]50 
Aluode/PerceptionLabPortable · CoolFace