Sha256: b0be38bd014a1b9040a058282317e11f4c06d8d9cb070f66b6758556d5e41c6b

Contents?: true

Size: 1.27 KB

Versions: 50

Compression:

Stored size: 1.27 KB

Contents

# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
import atexit
import sys

from .ansitowin32 import AnsiToWin32


orig_stdout = sys.stdout
orig_stderr = sys.stderr

wrapped_stdout = sys.stdout
wrapped_stderr = sys.stderr

atexit_done = False


def reset_all():
    AnsiToWin32(orig_stdout).reset_all()


def init(autoreset=False, convert=None, strip=None, wrap=True):

    if not wrap and any([autoreset, convert, strip]):
        raise ValueError('wrap=False conflicts with any other arg=True')

    global wrapped_stdout, wrapped_stderr
    sys.stdout = wrapped_stdout = \
        wrap_stream(orig_stdout, convert, strip, autoreset, wrap)
    sys.stderr = wrapped_stderr = \
        wrap_stream(orig_stderr, convert, strip, autoreset, wrap)

    global atexit_done
    if not atexit_done:
        atexit.register(reset_all)
        atexit_done = True


def deinit():
    sys.stdout = orig_stdout
    sys.stderr = orig_stderr


def reinit():
    sys.stdout = wrapped_stdout
    sys.stderr = wrapped_stdout


def wrap_stream(stream, convert, strip, autoreset, wrap):
    if wrap:
        wrapper = AnsiToWin32(stream,
            convert=convert, strip=strip, autoreset=autoreset)
        if wrapper.should_wrap():
            stream = wrapper.stream
    return stream


Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
libv8-7.8.279.23.0beta1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-7.3.492.27.3beta1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-7.3.492.27.1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-7.3.492.27.0 vendor/depot_tools/third_party/colorama/initialise.py
libv8-7.3.492.27.0beta1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.7.288.46.1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.7.288.46.0 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.7.288.46.1beta0 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.3.292.48.1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.3.292.48.0 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.3.292.48.0beta2 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.3.292.48.0beta1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.2.414.42.1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.2.414.42.0 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.2.414.42.0beta1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.0.286.54.3 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.0.286.54.2 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.0.286.54.1 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.0.286.54.0 vendor/depot_tools/third_party/colorama/initialise.py
libv8-6.0.286.54.0beta2 vendor/depot_tools/third_party/colorama/initialise.py