From 6ee65e5a9e7b50932e720baa8f8215c4067fb237 Mon Sep 17 00:00:00 2001 From: jpwroberts Date: Tue, 7 Jul 2020 16:53:06 +0200 Subject: [PATCH 1/5] Adds support for reverse video and underline on Windows 10. Also prevents SGR codes 30-37 from appearing BRIGHT when the terminal is using a bright colour by default. --- CHANGELOG.rst | 7 ++++++ README.rst | 29 +++++++++++++++++++++- colorama/ansi.py | 19 ++++++++++++-- colorama/ansitowin32.py | 30 +++++++++++------------ colorama/tests/winterm_test.py | 6 +++-- colorama/winterm.py | 45 +++++++++++++++++++++++++++++++--- demos/demo01.py | 4 +-- 7 files changed, 114 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f88f449..1f0d22d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,3 +1,10 @@ +0.4.4 + * Added support for REVERSE video and UNDERLINE. + * ANSI codes CSI [ 0-37 m no longer render as BRIGHT if the default terminal + foreground color is BRIGHT. + * The demo01.py file now demonstrates reverse video and underlining effects. + * winterm_test.py updated to assert on term._default_style rather than _style. + This is in the testInit and testResetAll tests - _style has BRIGHT cleared. 0.4.3 * Fix release 0.4.2 which was uploaded with missing files. 0.4.2 diff --git a/README.rst b/README.rst index 9a5f7d0..a6a4d02 100644 --- a/README.rst +++ b/README.rst @@ -143,7 +143,27 @@ Available formatting constants are:: Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. - Style: DIM, NORMAL, BRIGHT, RESET_ALL + Style: DIM, NORMAL, BRIGHT, BRIGHT_OFF, REVERSE, UNDERLINE, RESET_ALL + +``Style.REVERSE_OFF`` and ``Style.UNDERLINE_OFF`` are provided to allow intent +to be clearer. +They currently have the same values as ``REVERSE`` and ``UNDERLINE``, +respectively. Using ``REVERSE`` a 2nd time will toggle REVERSE off again +(and the same for UNDERLINE). + +It's important to realise that ``Style.UNDERLINE_OFF`` and ``Style.REVERSE_OFF`` +are not guaranteed to turn the relevant effect off. If you've called +``colorama.init`` with ``autoreset=False``, and left the terminal in underline +mode, then the next time either ``Style.UNDERLINE`` or ``Style.UNDERLINE_OFF`` +is encountered, underlining will be turned off. + +Note that REVERSE and UNDERLINE require Windows 10, they don't have any effect +on Windows 7 or 8. + +``BRIGHT_OFF`` is included because it's a valid ANSI sequence. It will do the +same thing as ``NORMAL``, on Windows. + +On some terminals, it will produce a double underline. ``Style.RESET_ALL`` resets foreground, background, and brightness. Colorama will perform this reset automatically on program exit. @@ -254,7 +274,14 @@ The only ANSI sequences that colorama converts into win32 calls are:: ESC [ 0 m # reset all (colors and brightness) ESC [ 1 m # bright ESC [ 2 m # dim (looks same as normal brightness) + ESC [ 4 m # underline *1* + ESC [ 7 m # reverse video *1* + ESC [ 21 m # double underline or normal brightness ESC [ 22 m # normal brightness + ESC [ 24 m # underline off *1* + ESC [ 27 m # reverse video off *1* + + *1. Not supported on Windows 7 or 8.* # FOREGROUND: ESC [ 30 m # black diff --git a/colorama/ansi.py b/colorama/ansi.py index 11ec695..8d2ab8b 100644 --- a/colorama/ansi.py +++ b/colorama/ansi.py @@ -1,8 +1,8 @@ # Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. -''' +""" This module generates ANSI character codes to printing colors to terminals. See: http://en.wikipedia.org/wiki/ANSI_escape_code -''' +""" CSI = '\033[' OSC = '\033]' @@ -12,12 +12,15 @@ def code_to_chars(code): return CSI + str(code) + 'm' + def set_title(title): return OSC + '2;' + title + BEL + def clear_screen(mode=2): return CSI + str(mode) + 'J' + def clear_line(mode=2): return CSI + str(mode) + 'K' @@ -34,14 +37,19 @@ def __init__(self): class AnsiCursor(object): + def UP(self, n=1): return CSI + str(n) + 'A' + def DOWN(self, n=1): return CSI + str(n) + 'B' + def FORWARD(self, n=1): return CSI + str(n) + 'C' + def BACK(self, n=1): return CSI + str(n) + 'D' + def POS(self, x=1, y=1): return CSI + str(y) + ';' + str(x) + 'H' @@ -93,9 +101,16 @@ class AnsiBack(AnsiCodes): class AnsiStyle(AnsiCodes): BRIGHT = 1 DIM = 2 + BRIGHT_OFF = 21 # Produces double-underline on some terminals. NORMAL = 22 RESET_ALL = 0 + UNDERLINE = 4 + UNDERLINE_OFF = 24 + REVERSE = 7 + REVERSE_OFF = 27 + + Fore = AnsiFore() Back = AnsiBack() Style = AnsiStyle() diff --git a/colorama/ansitowin32.py b/colorama/ansitowin32.py index 6039a05..c8fb046 100644 --- a/colorama/ansitowin32.py +++ b/colorama/ansitowin32.py @@ -14,11 +14,11 @@ class StreamWrapper(object): - ''' + """ Wraps a stream (such as stdout), acting as a transparent proxy for all attribute access apart from method 'write()', which is delegated to our Converter instance. - ''' + """ def __init__(self, wrapped, converter): # double-underscore everything to prevent clashes with names of # attributes on the wrapped stream object. @@ -62,11 +62,11 @@ def closed(self): class AnsiToWin32(object): - ''' + """ Implements a 'write()' method which, on Windows, will strip ANSI character sequences from the text, and if outputting to a tty, will convert them into win32 function calls. - ''' + """ ANSI_CSI_RE = re.compile('\001?\033\\[((?:\\d|;)*)([a-zA-Z])\002?') # Control Sequence Introducer ANSI_OSC_RE = re.compile('\001?\033\\]([^\a]*)(\a)\002?') # Operating System Command @@ -104,13 +104,13 @@ def __init__(self, wrapped, convert=None, strip=None, autoreset=False): self.on_stderr = self.wrapped is sys.stderr def should_wrap(self): - ''' + """ True if this class is actually needed. If false, then the output stream will not be affected, nor will win32 calls be issued, so wrapping stdout is not actually required. This will generally be False on non-Windows platforms, unless optional functionality like autoreset has been requested using kwargs to init() - ''' + """ return self.convert or self.strip or self.autoreset def get_win32_calls(self): @@ -120,6 +120,13 @@ def get_win32_calls(self): AnsiStyle.BRIGHT: (winterm.style, WinStyle.BRIGHT), AnsiStyle.DIM: (winterm.style, WinStyle.NORMAL), AnsiStyle.NORMAL: (winterm.style, WinStyle.NORMAL), + AnsiStyle.BRIGHT_OFF: (winterm.style, WinStyle.NORMAL), + + AnsiStyle.UNDERLINE: (winterm.style, WinStyle.UNDERLINE), + AnsiStyle.UNDERLINE_OFF: (winterm.style, WinStyle.UNDERLINE_OFF), + AnsiStyle.REVERSE: (winterm.style, WinStyle.REVERSE), + AnsiStyle.REVERSE_OFF: (winterm.style, WinStyle.REVERSE_OFF), + AnsiFore.BLACK: (winterm.fore, WinColor.BLACK), AnsiFore.RED: (winterm.fore, WinColor.RED), AnsiFore.GREEN: (winterm.fore, WinColor.GREEN), @@ -166,20 +173,18 @@ def write(self, text): if self.autoreset: self.reset_all() - def reset_all(self): if self.convert: self.call_win32('m', (0,)) elif not self.strip and not self.stream.closed: self.wrapped.write(Style.RESET_ALL) - def write_and_convert(self, text): - ''' + """ Write the given text to our wrapped stream, stripping any ANSI sequences from the text, and optionally converting them into win32 calls. - ''' + """ cursor = 0 text = self.convert_osc(text) for match in self.ANSI_CSI_RE.finditer(text): @@ -189,19 +194,16 @@ def write_and_convert(self, text): cursor = end self.write_plain_text(text, cursor, len(text)) - def write_plain_text(self, text, start, end): if start < end: self.wrapped.write(text[start:end]) self.wrapped.flush() - def convert_ansi(self, paramstring, command): if self.convert: params = self.extract_params(command, paramstring) self.call_win32(command, params) - def extract_params(self, command, paramstring): if command in 'Hf': params = tuple(int(p) if len(p) != 0 else 1 for p in paramstring.split(';')) @@ -219,7 +221,6 @@ def extract_params(self, command, paramstring): return params - def call_win32(self, command, params): if command == 'm': for param in params: @@ -241,7 +242,6 @@ def call_win32(self, command, params): x, y = {'A': (0, -n), 'B': (0, n), 'C': (n, 0), 'D': (-n, 0)}[command] winterm.cursor_adjust(x, y, on_stderr=self.on_stderr) - def convert_osc(self, text): for match in self.ANSI_OSC_RE.finditer(text): start, end = match.span() diff --git a/colorama/tests/winterm_test.py b/colorama/tests/winterm_test.py index d0955f9..1cb36c3 100644 --- a/colorama/tests/winterm_test.py +++ b/colorama/tests/winterm_test.py @@ -20,7 +20,8 @@ def testInit(self, mockWin32): term = WinTerm() self.assertEqual(term._fore, 7) self.assertEqual(term._back, 6) - self.assertEqual(term._style, 8) + # _default_style should be correct. _style will have been reset to 0 + self.assertEqual(term._default_style, 8) @skipUnless(sys.platform.startswith("win"), "requires Windows") def testGetAttrs(self): @@ -60,7 +61,8 @@ def testResetAll(self, mockWin32): self.assertEqual(term._fore, 1) self.assertEqual(term._back, 2) - self.assertEqual(term._style, 8) + # _default_style should be correct. _style will have been reset to 0 + self.assertEqual(term._default_style, 8) self.assertEqual(term.set_console.called, True) @skipUnless(sys.platform.startswith("win"), "requires Windows") diff --git a/colorama/winterm.py b/colorama/winterm.py index 0fdb4ec..948374f 100644 --- a/colorama/winterm.py +++ b/colorama/winterm.py @@ -13,11 +13,18 @@ class WinColor(object): YELLOW = 6 GREY = 7 + # from wincon.h class WinStyle(object): - NORMAL = 0x00 # dim text, dim background - BRIGHT = 0x08 # bright text, dim background - BRIGHT_BACKGROUND = 0x80 # dim text, bright background + NORMAL = 0x00 # dim text, dim background + BRIGHT = 0x08 # bright text, dim background + BRIGHT_BACKGROUND = 0x80 # dim text, bright background + + REVERSE = 0x4000 + REVERSE_OFF = REVERSE + UNDERLINE = 0x8000 + UNDERLINE_OFF = UNDERLINE + class WinTerm(object): @@ -27,6 +34,12 @@ def __init__(self): self._default_fore = self._fore self._default_back = self._back self._default_style = self._style + + # Cater for the default console using bright foreground. + # If we don't clear BRIGHT, normal text will render as bold. + if self._default_style & WinStyle.BRIGHT: + self._style &= ~WinStyle.BRIGHT + # In order to emulate LIGHT_EX in windows, we borrow the BRIGHT style. # So that LIGHT_EX colors and BRIGHT style do not clobber each other, # we track them separately, since LIGHT_EX is overwritten by Fore/Back @@ -45,11 +58,16 @@ def reset_all(self, on_stderr=None): self.set_attrs(self._default) self.set_console(attrs=self._default) self._light = 0 + self._style = self._default_style + # Turn off BRIGHT if that's the default for the console foreground. + if self._default_style & WinStyle.BRIGHT: + self._style &= ~WinStyle.BRIGHT def fore(self, fore=None, light=False, on_stderr=False): if fore is None: fore = self._default_fore self._fore = fore + # Emulate LIGHT_EX with BRIGHT Style if light: self._light |= WinStyle.BRIGHT @@ -71,7 +89,26 @@ def back(self, back=None, light=False, on_stderr=False): def style(self, style=None, on_stderr=False): if style is None: style = self._default_style - self._style = style + reverse_set = self._style & WinStyle.REVERSE + underline_set = self._style & WinStyle.UNDERLINE + + # Preserve any existing style(s) - this allows things + # like bold *and* underline. + # Note that NORMAL (0) would reset everything. We only want + # it to reset BRIGHT or DIM. + if style: + self._style |= style + else: + self._style = style | reverse_set | underline_set + + # Now deal with turning attributes off. SetConsoleTextAttribute + # doesn't currently have attributes to cancel bold, reverse and underline + # https://docs.microsoft.com/en-us/windows/console/console-screen-buffers + if reverse_set: + self._style &= ~(style & WinStyle.REVERSE_OFF) + if underline_set: + self._style &= ~(style & WinStyle.UNDERLINE_OFF) + self.set_console(on_stderr=on_stderr) def set_console(self, attrs=None, on_stderr=False): diff --git a/demos/demo01.py b/demos/demo01.py index 99d896a..3f58b3d 100644 --- a/demos/demo01.py +++ b/demos/demo01.py @@ -18,7 +18,7 @@ # the foreground, background and style. The don't have any magic of their own. FORES = [ Fore.BLACK, Fore.RED, Fore.GREEN, Fore.YELLOW, Fore.BLUE, Fore.MAGENTA, Fore.CYAN, Fore.WHITE ] BACKS = [ Back.BLACK, Back.RED, Back.GREEN, Back.YELLOW, Back.BLUE, Back.MAGENTA, Back.CYAN, Back.WHITE ] -STYLES = [ Style.DIM, Style.NORMAL, Style.BRIGHT ] +STYLES = [ Style.DIM, Style.NORMAL, Style.BRIGHT, Style.UNDERLINE, Style.REVERSE ] NAMES = { Fore.BLACK: 'black', Fore.RED: 'red', Fore.GREEN: 'green', Fore.YELLOW: 'yellow', Fore.BLUE: 'blue', Fore.MAGENTA: 'magenta', Fore.CYAN: 'cyan', Fore.WHITE: 'white' @@ -30,7 +30,7 @@ # show the color names sys.stdout.write(' ') for foreground in FORES: - sys.stdout.write('%s%-7s' % (foreground, NAMES[foreground])) + sys.stdout.write('%s%-11s' % (foreground, NAMES[foreground])) print() # make a row for each background color From e0f6ea39abf1f726c6cf52f4dcbf33ef1e787e8b Mon Sep 17 00:00:00 2001 From: jpwroberts Date: Tue, 7 Jul 2020 17:05:36 +0200 Subject: [PATCH 2/5] Incorrectly left BRIGHT_OFF in the documentation. --- README.rst | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/README.rst b/README.rst index a6a4d02..8195e36 100644 --- a/README.rst +++ b/README.rst @@ -143,7 +143,7 @@ Available formatting constants are:: Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. - Style: DIM, NORMAL, BRIGHT, BRIGHT_OFF, REVERSE, UNDERLINE, RESET_ALL + Style: DIM, NORMAL, BRIGHT, REVERSE, UNDERLINE, RESET_ALL ``Style.REVERSE_OFF`` and ``Style.UNDERLINE_OFF`` are provided to allow intent to be clearer. @@ -160,11 +160,6 @@ is encountered, underlining will be turned off. Note that REVERSE and UNDERLINE require Windows 10, they don't have any effect on Windows 7 or 8. -``BRIGHT_OFF`` is included because it's a valid ANSI sequence. It will do the -same thing as ``NORMAL``, on Windows. - -On some terminals, it will produce a double underline. - ``Style.RESET_ALL`` resets foreground, background, and brightness. Colorama will perform this reset automatically on program exit. From 7eb3dcb3da552be8bc088762dc876641c95cca73 Mon Sep 17 00:00:00 2001 From: jpwroberts Date: Tue, 7 Jul 2020 17:43:55 +0200 Subject: [PATCH 3/5] Updated screenshots (plus minor formatting changes) --- README.rst | 7 ++++++- colorama/ansi.py | 10 +++++----- screenshots/ubuntu-demo.png | Bin 59171 -> 102033 bytes screenshots/windows-demo.png | Bin 24304 -> 44822 bytes 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 8195e36..a6a4d02 100644 --- a/README.rst +++ b/README.rst @@ -143,7 +143,7 @@ Available formatting constants are:: Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. - Style: DIM, NORMAL, BRIGHT, REVERSE, UNDERLINE, RESET_ALL + Style: DIM, NORMAL, BRIGHT, BRIGHT_OFF, REVERSE, UNDERLINE, RESET_ALL ``Style.REVERSE_OFF`` and ``Style.UNDERLINE_OFF`` are provided to allow intent to be clearer. @@ -160,6 +160,11 @@ is encountered, underlining will be turned off. Note that REVERSE and UNDERLINE require Windows 10, they don't have any effect on Windows 7 or 8. +``BRIGHT_OFF`` is included because it's a valid ANSI sequence. It will do the +same thing as ``NORMAL``, on Windows. + +On some terminals, it will produce a double underline. + ``Style.RESET_ALL`` resets foreground, background, and brightness. Colorama will perform this reset automatically on program exit. diff --git a/colorama/ansi.py b/colorama/ansi.py index 8d2ab8b..923e69e 100644 --- a/colorama/ansi.py +++ b/colorama/ansi.py @@ -99,11 +99,11 @@ class AnsiBack(AnsiCodes): class AnsiStyle(AnsiCodes): - BRIGHT = 1 - DIM = 2 - BRIGHT_OFF = 21 # Produces double-underline on some terminals. - NORMAL = 22 - RESET_ALL = 0 + BRIGHT = 1 + DIM = 2 + BRIGHT_OFF = 21 # Produces double-underline on some terminals. + NORMAL = 22 + RESET_ALL = 0 UNDERLINE = 4 UNDERLINE_OFF = 24 diff --git a/screenshots/ubuntu-demo.png b/screenshots/ubuntu-demo.png index 140a6ca07f2616f1ec7f86190e06980d7597b6ab..af70b2eafe197138393010daf1f9786eed9dde65 100644 GIT binary patch literal 102033 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 W`5FX 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 ZK=dfjc*pbV!T34-n~;=Xv4GCc{|BHex&HtF literal 59171 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 QUjUpkw>pu3+$HM205H`Dr2qf` diff --git a/screenshots/windows-demo.png b/screenshots/windows-demo.png index efe5a6085ca028e3104d2fa199e43a0c8c4cdb38..485d348fad0010171b3afbf6a5eed65df069a9d5 100644 GIT binary patch literal 44822 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 literal 24304 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 UEbO7a1O!0F`eu4Xx;G#GCs`xb5&!@I From 752c327260d171e4b7856f0d611583d61352ed2a Mon Sep 17 00:00:00 2001 From: jpwroberts Date: Sun, 14 Feb 2021 00:13:30 +0100 Subject: [PATCH 4/5] Changed to use Windows virtual terminal on Windows 10 --- .github/FUNDING.yml | 2 + .gitignore | 9 +- .travis.yml | 1 + CHANGELOG.rst | 26 +++-- Makefile | 54 +++++++-- README-hacking.md | 83 +++++++++++++ README.rst | 180 +++++++++++------------------ bootstrap.ps1 | 9 ++ build.ps1 | 6 + clean.ps1 | 6 + colorama/__init__.py | 2 +- colorama/ansi.py | 12 +- colorama/ansitowin32.py | 84 +++++++++++--- colorama/tests/ansitowin32_test.py | 14 ++- colorama/tests/undrev_test.py | 50 ++++++++ colorama/tests/winterm_test.py | 6 +- colorama/win32.py | 1 + colorama/winterm.py | 35 +----- release.ps1 | 7 ++ setup.py | 1 + test-release | 43 +++++++ test-release.ps1 | 30 +++++ test.ps1 | 5 + tox.ini | 2 +- 24 files changed, 469 insertions(+), 199 deletions(-) create mode 100644 README-hacking.md create mode 100644 bootstrap.ps1 create mode 100644 build.ps1 create mode 100644 clean.ps1 create mode 100644 colorama/tests/undrev_test.py create mode 100644 release.ps1 create mode 100644 test-release create mode 100644 test-release.ps1 create mode 100644 test.ps1 diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 4a65b6c..fc44d47 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -9,4 +9,6 @@ # open_collective: # Replace with a single Open Collective username # otechie: # Replace with a single Otechie username # patreon: # Replace with a single Patreon username +custom: ["https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2MZ9D2GMLYCUJ&item_name=Colorama¤cy_code=USD"] tidelift: "pypi/colorama" + diff --git a/.gitignore b/.gitignore index 202551b..b8d794f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,11 +2,12 @@ *.egg-info .coverage .tox/ -MANIFEST -dist -tags +/MANIFEST +/build/ +/dist/ +/sandbox/ +/tags virtualenv -build # PyCharm .idea diff --git a/.travis.yml b/.travis.yml index 7e11b00..706b55c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,7 @@ cache: pip matrix: include: - python: 2.7 + - python: 3.9 - python: 3.8 - arch: arm64 python: 3.7 diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 1f0d22d..555941c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,13 +1,23 @@ -0.4.4 - * Added support for REVERSE video and UNDERLINE. - * ANSI codes CSI [ 0-37 m no longer render as BRIGHT if the default terminal - foreground color is BRIGHT. - * The demo01.py file now demonstrates reverse video and underlining effects. - * winterm_test.py updated to assert on term._default_style rather than _style. - This is in the testInit and testResetAll tests - _style has BRIGHT cleared. +0.4.6 + * Support reverse video and underline on Windows 10 +0.4.5 In progress, unreleased + * Create README-hacking.md, for Colorama contributors. + * Tweak some README unicode characters that don't render correctly on PyPI. + * Fix some tests that were failing on some operating systems. + * Add support for Python 3.9. +0.4.4 Current release + * Re-org of README, to put the most insteresting parts near the top. + * Added Linux makefile targets and Windows powershell scripts to + automate bootstrapping a development environment, and automate the + process of testing wheels before they are uploaded to PyPI. + * Use stdlib unittest.mock where available + * Travis CI now also builds on arm64 + * Demo06 demonstrates existing cursor positioning feature + * Fix OSC regex & handling to prevent hang or crash + * Document enterprise support by Tidelift 0.4.3 * Fix release 0.4.2 which was uploaded with missing files. -0.4.2 +0.4.2 BROKEN DO NOT USE * #228: Drop support for EOL Python 3.4, and add 3.7 and 3.8. Thanks to hugovk. * Several additions and fixes to documentation and metadata. diff --git a/Makefile b/Makefile index 312bd5e..a0b8987 100644 --- a/Makefile +++ b/Makefile @@ -10,24 +10,56 @@ help: ## Display help for documented make targets. @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-7s\033[0m %s\n", $$1, $$2}' -clean: ## Remove build artifacts and .pyc files - -rm -rf build dist MANIFEST colorama.egg-info + +# bootstrap environment + +virtualenv=~/.virtualenvs/colorama +pip=$(virtualenv)/bin/pip +syspython=python3.8 +python=$(virtualenv)/bin/python +twine=$(virtualenv)/bin/twine +version=$(shell $(python) setup.py --version) + +clean: ## Remove build artifacts, .pyc files, virtualenv + -rm -rf build dist MANIFEST colorama.egg-info $(virtualenv) -find . -type f -name '*.py[co]' -delete -o -type d -name __pycache__ -delete .PHONY: clean -build: clean ## Build an sdist and wheel - python setup.py sdist bdist_wheel -.PHONY: sdist +$(virtualenv): + $(syspython) -m venv --clear $(virtualenv) + $(pip) install --upgrade pip -upload: ## Upload our sdist and wheel - twine upload dist/* -.PHONY: release +venv: $(virtualenv) ## Create or clear a virtualenv +.PHONY: venv + +bootstrap: venv ## Populate the virtualenv + $(pip) install -r requirements.txt -r requirements-dev.txt +.PHONY: bootstrap -test: ## Run tests - python -m unittest discover -p *_test.py -.PHONY: test + +# development tags: ## Create tags file ctags -R ${NAME} .PHONY: tags +test: ## Run tests + $(python) -m unittest discover -p *_test.py +.PHONY: test + + +# build packages + +build: ## Build a release (sdist and wheel) + $(python) -m pip install --upgrade setuptools wheel + $(python) setup.py sdist bdist_wheel +.PHONY: build + +test-release: build ## Test a built release + ./test-release +.PHONY: test-release + +release: ## Upload a built release + $(twine) upload dist/colorama-$(version)*{.whl,.tar.gz} +.PHONY: release + diff --git a/README-hacking.md b/README-hacking.md new file mode 100644 index 0000000..8cc5b55 --- /dev/null +++ b/README-hacking.md @@ -0,0 +1,83 @@ +# Colorama Development + +Help and fixes are welcome! + +Although Colorama has no requirements other than the Python standard library, +development requires some Python packages, which are captured in +requirements-dev.txt. + +Throughout, if you're on a Mac, you can probably do something similar to the +Linux instructions. Either use the makefile directly, or look in it to see +what commands it executes, and manually execute something similar. PRs to +automate for Mac appreciated! Especially if they just made the existing Linux +Makefile targets work on Mac too. + +## Makefile and PowerShell scripts + +Some common commands are captured as Linux makefile targets (which could +perhaps be coaxed into running on OSX in Bash), and as Windows PowerShell +scripts. + +| Task | Linux | Windows | +|---------------------------------|---------------------|----------------------| +| Create & populate virtualenv. | `make bootstrap` | `.\bootstrap.ps1` | +| Run tests. | `make test` | `.\test.ps1` | +| Build a wheel. | `make build` | `.\build.ps1` | +| Test the wheel. | `make test-release` | `.\test-release.ps1` | +| Release the wheel on PyPI | `make release` | `.\release.ps1` | +| Clean generated files & builds. | `make clean` | `.\clean.ps1` | + +The Makefile is self-documenting, so 'make' with no args will describe each +target. + +## Release checklist + +1. Check the CHANGELOG is updated with everything since the last release. +2. Remove the '-pre' suffix from `__version__` in `colorama/__init.py__.py`. +3. Run the tests locally on your preferred OS, just to save you from doing + the following time-consuming steps while there are still obvious problems + in the code: + + * Windows: `./test.ps1` + * Linux: `make test` + +4. Verify you're all committed, merged to master, and pushed to origin (This + triggers a Travis build, which we'll check later on) + +5. Build the distributables (sdist and wheel), on either OS: + + * Windows: `.\build.ps1` + * Linux: `make build` + +6. Test the distributables on both OS. Whichever one you do 2nd will get an + HTTP 400 response on uploading to test.pypi.org, but outputs a message + saying this is expected and carries on: + + * Windows: `./clean.ps1 && .\bootstrap.ps1 && .\build.ps1 && + .\test-release.ps1` + * Linux: `make clean bootstrap build test-release` + + (This currently only tests the wheel, but + [should soon test the sdist too](https://github.com/tartley/colorama/issues/286).) + +7. Check the [Travis builds](https://travis-ci.org/github/tartley/colorama) + are complete and all passing. (This currently only tests on Linux, but + [should soon run on Windows too](https://github.com/tartley/colorama/issues/283).) + +8. Upload the distributables to PyPI: + + * On Windows: `.\release.ps1` + * On Linux: `make release` + + This [should soon tag the release for you](https://github.com/tartley/colorama/issues/282). Until then: + +9. Tag the current commit with the `__version__` from `colorama/__init__.py`. + We should start using + [annotated tags for releases](https://www.tartley.com/posts/til-git-annotated-tags/), so: + + git tag -a -m "" $version + git push --follow-tags + +10. Bump the version number in `colorama/__init__.py`, and add the '-pre' + suffix again, ready for the next release. Commit and push this (directly to + master is fine.) diff --git a/README.rst b/README.rst index a6a4d02..e03e51f 100644 --- a/README.rst +++ b/README.rst @@ -10,19 +10,41 @@ :target: https://travis-ci.org/tartley/colorama :alt: Build Status -Download and docs: - https://pypi.org/project/colorama/ -Source code & Development: - https://github.com/tartley/colorama -Colorama for Enterprise: - https://github.com/tartley/colorama/blob/master/ENTERPRISE.md -Description -=========== +Colorama +======== Makes ANSI escape character sequences (for producing colored terminal text and cursor positioning) work under MS Windows. +.. |donate| image:: https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif + :target: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2MZ9D2GMLYCUJ&item_name=Colorama¤cy_code=USD + :alt: Donate with Paypal + +`PyPI for releases `_ | +`Github for source `_ | +`Colorama for enterprise on Tidelift `_ + +If you find Colorama useful, please |donate| to the authors. Thank you! + + +Installation +------------ + +Tested on CPython 2.7, 3.5, 3.6, 3.7, 3.8 and 3.9 and Pypy 2.7. + +No requirements other than the standard library. + +.. code-block:: bash + + pip install colorama + # or + conda install -c anaconda colorama + + +Description +----------- + ANSI escape character sequences have long been used to produce colored terminal text and cursor positioning on Unix and Macs. Colorama makes this work on Windows, too, by wrapping ``stdout``, stripping ANSI sequences it finds (which @@ -30,11 +52,6 @@ would appear as gobbledygook in the output), and converting them into the appropriate win32 calls to modify the state of the terminal. On other platforms, Colorama does nothing. -Colorama also provides some shortcuts to help generate ANSI sequences -but works fine in conjunction with any other ANSI sequence generation library, -such as the venerable Termcolor (https://pypi.org/project/termcolor/) -or the fabulous Blessings (https://pypi.org/project/blessings/). - This has the upshot of providing a simple cross-platform API for printing colored terminal text from Python, and has the happy side-effect that existing applications or libraries which use ANSI sequences to produce colored output on @@ -60,26 +77,14 @@ handling, versus on Windows Command-Prompt using Colorama: :height: 325 :alt: Same ANSI sequences on Windows, using Colorama. -These screengrabs show that, on Windows, Colorama does not support ANSI 'dim +These screenshots show that, on Windows, Colorama does not support ANSI 'dim text'; it looks the same as 'normal text'. - -License -======= - -Copyright Jonathan Hartley & Arnon Yaari, 2013. BSD 3-Clause license; see LICENSE file. - - -Dependencies -============ - -None, other than Python. Tested on Python 2.7, 3.5, 3.6, 3.7 and 3.8. - Usage -===== +----- Initialisation --------------- +.............. Applications should initialise Colorama using: @@ -97,14 +102,14 @@ optional functionality; see "Init Keyword Args", below). By design, this permits applications to call ``init()`` unconditionally on all platforms, after which ANSI output should just work. -To stop using colorama before your program exits, simply call ``deinit()``. +To stop using Colorama before your program exits, simply call ``deinit()``. This will restore ``stdout`` and ``stderr`` to their original values, so that Colorama is disabled. To resume using Colorama again, call ``reinit()``; it is cheaper than calling ``init()`` again (but does the same thing). Colored Output --------------- +.............. Cross-platform printing of colored text can then be done using Colorama's constant shorthand for ANSI escape sequences: @@ -125,8 +130,10 @@ constant shorthand for ANSI escape sequences: print('\033[31m' + 'some red text') print('\033[39m') # and reset to default color -...or, Colorama can be used happily in conjunction with existing ANSI libraries -such as Termcolor: +...or, Colorama can be used in conjunction with existing ANSI libraries +such as the venerable `Termcolor `_ +or the fabulous `Blessings `_. +This is highly recommended for anything more than trivial coloring: .. code-block:: python @@ -143,41 +150,21 @@ Available formatting constants are:: Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. - Style: DIM, NORMAL, BRIGHT, BRIGHT_OFF, REVERSE, UNDERLINE, RESET_ALL - -``Style.REVERSE_OFF`` and ``Style.UNDERLINE_OFF`` are provided to allow intent -to be clearer. -They currently have the same values as ``REVERSE`` and ``UNDERLINE``, -respectively. Using ``REVERSE`` a 2nd time will toggle REVERSE off again -(and the same for UNDERLINE). - -It's important to realise that ``Style.UNDERLINE_OFF`` and ``Style.REVERSE_OFF`` -are not guaranteed to turn the relevant effect off. If you've called -``colorama.init`` with ``autoreset=False``, and left the terminal in underline -mode, then the next time either ``Style.UNDERLINE`` or ``Style.UNDERLINE_OFF`` -is encountered, underlining will be turned off. - -Note that REVERSE and UNDERLINE require Windows 10, they don't have any effect -on Windows 7 or 8. - -``BRIGHT_OFF`` is included because it's a valid ANSI sequence. It will do the -same thing as ``NORMAL``, on Windows. - -On some terminals, it will produce a double underline. + Style: DIM, NORMAL, BRIGHT, RESET_ALL ``Style.RESET_ALL`` resets foreground, background, and brightness. Colorama will perform this reset automatically on program exit. Cursor Positioning ------------------- +.................. ANSI codes to reposition the cursor are supported. See ``demos/demo06.py`` for an example of how to generate them. Init Keyword Args ------------------ +................. ``init()`` accepts some ``**kwargs`` to override default behaviour. @@ -194,7 +181,7 @@ init(autoreset=False): print('automatically back to default color again') init(strip=None): - Pass ``True`` or ``False`` to override whether ansi codes should be + Pass ``True`` or ``False`` to override whether ANSI codes should be stripped from the output. The default behaviour is to strip if on Windows or if output is redirected (not a tty). @@ -204,7 +191,7 @@ init(convert=None): and output is to a tty (terminal). init(wrap=True): - On Windows, colorama works by replacing ``sys.stdout`` and ``sys.stderr`` + On Windows, Colorama works by replacing ``sys.stdout`` and ``sys.stderr`` with proxy objects, which override the ``.write()`` method to do their work. If this wrapping causes you problems, then this can be disabled by passing ``init(wrap=False)``. The default behaviour is to wrap if ``autoreset`` or @@ -228,39 +215,10 @@ init(wrap=True): print(Fore.BLUE + 'blue text on stderr', file=stream) -Installation -======================= -colorama is currently installable from PyPI: - - pip install colorama - -colorama also can be installed by the conda package manager: - - conda install -c anaconda colorama - - -Status & Known Problems -======================= - -I've personally only tested it on Windows XP (CMD, Console2), Ubuntu -(gnome-terminal, xterm), and OS X. - -Some presumably valid ANSI sequences aren't recognised (see details below), -but to my knowledge nobody has yet complained about this. Puzzling. - -See outstanding issues and wishlist: -https://github.com/tartley/colorama/issues - -If anything doesn't work for you, or doesn't do what you expected or hoped for, -I'd love to hear about it on that issues list, would be delighted by patches, -and would be happy to grant commit access to anyone who submits a working patch -or two. - - Recognised ANSI Sequences -========================= +......................... -ANSI sequences generally take the form: +ANSI sequences generally take the form:: ESC [ ; ... @@ -269,19 +227,12 @@ more params are passed to a ````. If no params are passed, it is generally synonymous with passing a single zero. No spaces exist in the sequence; they have been inserted here simply to read more easily. -The only ANSI sequences that colorama converts into win32 calls are:: +The only ANSI sequences that Colorama converts into win32 calls are:: ESC [ 0 m # reset all (colors and brightness) ESC [ 1 m # bright ESC [ 2 m # dim (looks same as normal brightness) - ESC [ 4 m # underline *1* - ESC [ 7 m # reverse video *1* - ESC [ 21 m # double underline or normal brightness ESC [ 22 m # normal brightness - ESC [ 24 m # underline off *1* - ESC [ 27 m # reverse video off *1* - - *1. Not supported on Windows 7 or 8.* # FOREGROUND: ESC [ 30 m # black @@ -333,29 +284,37 @@ them though. Let me know if it would be useful for you, via the Issues on GitHub. -Development -=========== +Status & Known Problems +----------------------- + +I've personally only tested it on Windows XP (CMD, Console2), Ubuntu +(gnome-terminal, xterm), and OS X. + +Some presumably valid ANSI sequences aren't recognised (see details below), +but to my knowledge nobody has yet complained about this. Puzzling. -Help and fixes welcome! +See outstanding issues and wish-list: +https://github.com/tartley/colorama/issues -Running tests requires: +If anything doesn't work for you, or doesn't do what you expected or hoped for, +I'd love to hear about it on that issues list, would be delighted by patches, +and would be happy to grant commit access to anyone who submits a working patch +or two. -- Michael Foord's ``mock`` module to be installed on Python < 3.3. -- Tests are written using 2010-era updates to ``unittest`` +If you're hacking on the code, see `README-hacking.md`_. -To run tests:: +.. _README-hacking.md: README-hacking.md - python -m unittest discover -p *_test.py -This, like a few other handy commands, is captured in a ``Makefile``. +License +------- -If you use nose to run the tests, you must pass the ``-s`` flag; otherwise, -``nosetests`` applies its own proxy to ``stdout``, which confuses the unit -tests. +Copyright Jonathan Hartley & Arnon Yaari, 2013-2020. BSD 3-Clause license; see +LICENSE file. Professional support -==================== +-------------------- .. |tideliftlogo| image:: https://cdn2.hubspot.net/hubfs/4008838/website/logos/logos_for_download/Tidelift_primary-shorthand-logo.png :alt: Tidelift @@ -376,7 +335,8 @@ Professional support Thanks -====== +------ + * Marc Schlaich (schlamar) for a ``setup.py`` fix for Python2.5. * Marc Abramowitz, reported & fixed a crash on exit with closed ``stdout``, providing a solution to issue #7's setuptools/distutils debate, diff --git a/bootstrap.ps1 b/bootstrap.ps1 new file mode 100644 index 0000000..3260f8b --- /dev/null +++ b/bootstrap.ps1 @@ -0,0 +1,9 @@ +$syspython="python3.8.exe" +$ve="$HOME\.virtualenvs\colorama" +$bin="$ve\Scripts" + +echo "Create $syspython virtualenv $ve" +& $syspython -m venv --clear "$ve" +& $bin\python.exe -m pip install --upgrade pip +& $bin\python.exe -m pip install -r requirements.txt -r requirements-dev.txt + diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 0000000..a48e357 --- /dev/null +++ b/build.ps1 @@ -0,0 +1,6 @@ +$ve="$HOME\.virtualenvs\colorama" +$bin="$ve\Scripts" + +& $bin\python.exe -m pip install --upgrade setuptools wheel +& $bin\python.exe setup.py sdist bdist_wheel + diff --git a/clean.ps1 b/clean.ps1 new file mode 100644 index 0000000..de9ba5a --- /dev/null +++ b/clean.ps1 @@ -0,0 +1,6 @@ +$syspython="python3.8.exe" +$ve="$HOME\.virtualenvs\colorama" + +remove-item -r -fo * -I build,dist,MANIFEST,colorama.egg-info,$ve,sandbox +& $syspython -Bc "import pathlib, shutil; [shutil.rmtree(p) for p in pathlib.Path('.').rglob('__pycache__')]" + diff --git a/colorama/__init__.py b/colorama/__init__.py index b149ed7..6502bed 100644 --- a/colorama/__init__.py +++ b/colorama/__init__.py @@ -3,4 +3,4 @@ from .ansi import Fore, Back, Style, Cursor from .ansitowin32 import AnsiToWin32 -__version__ = '0.4.4' +__version__ = '0.4.6-pre' diff --git a/colorama/ansi.py b/colorama/ansi.py index 923e69e..1c8aba9 100644 --- a/colorama/ansi.py +++ b/colorama/ansi.py @@ -1,8 +1,8 @@ # Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. -""" +''' This module generates ANSI character codes to printing colors to terminals. See: http://en.wikipedia.org/wiki/ANSI_escape_code -""" +''' CSI = '\033[' OSC = '\033]' @@ -12,15 +12,12 @@ def code_to_chars(code): return CSI + str(code) + 'm' - def set_title(title): return OSC + '2;' + title + BEL - def clear_screen(mode=2): return CSI + str(mode) + 'J' - def clear_line(mode=2): return CSI + str(mode) + 'K' @@ -37,19 +34,14 @@ def __init__(self): class AnsiCursor(object): - def UP(self, n=1): return CSI + str(n) + 'A' - def DOWN(self, n=1): return CSI + str(n) + 'B' - def FORWARD(self, n=1): return CSI + str(n) + 'C' - def BACK(self, n=1): return CSI + str(n) + 'D' - def POS(self, x=1, y=1): return CSI + str(y) + ';' + str(x) + 'H' diff --git a/colorama/ansitowin32.py b/colorama/ansitowin32.py index c8fb046..912567a 100644 --- a/colorama/ansitowin32.py +++ b/colorama/ansitowin32.py @@ -2,29 +2,35 @@ import re import sys import os +import platform from .ansi import AnsiFore, AnsiBack, AnsiStyle, Style, BEL from .winterm import WinTerm, WinColor, WinStyle -from .win32 import windll, winapi_test - +from .win32 import windll, winapi_test, STDOUT, ENABLE_VIRTUAL_TERMINAL_PROCESSING winterm = None if windll is not None: winterm = WinTerm() +# Track whether we've enabled Win 10 virtual terminal, and +# what the original mode was set to. +we_enabled_windows_vt = False +old_mode_value = None + class StreamWrapper(object): - """ + ''' Wraps a stream (such as stdout), acting as a transparent proxy for all attribute access apart from method 'write()', which is delegated to our Converter instance. - """ + ''' def __init__(self, wrapped, converter): # double-underscore everything to prevent clashes with names of # attributes on the wrapped stream object. self.__wrapped = wrapped self.__convertor = converter + def __getattr__(self, name): return getattr(self.__wrapped, name) @@ -62,15 +68,17 @@ def closed(self): class AnsiToWin32(object): - """ + ''' Implements a 'write()' method which, on Windows, will strip ANSI character sequences from the text, and if outputting to a tty, will convert them into win32 function calls. - """ + ''' ANSI_CSI_RE = re.compile('\001?\033\\[((?:\\d|;)*)([a-zA-Z])\002?') # Control Sequence Introducer ANSI_OSC_RE = re.compile('\001?\033\\]([^\a]*)(\a)\002?') # Operating System Command def __init__(self, wrapped, convert=None, strip=None, autoreset=False): + global old_mode_value + global we_enabled_windows_vt # The wrapped stream (normally sys.stdout or sys.stderr) self.wrapped = wrapped @@ -80,12 +88,41 @@ def __init__(self, wrapped, convert=None, strip=None, autoreset=False): # create the proxy wrapping our output stream self.stream = StreamWrapper(wrapped, self) + conversion_supported = True on_windows = os.name == 'nt' # We test if the WinAPI works, because even if we are on Windows # we may be using a terminal that doesn't support the WinAPI # (e.g. Cygwin Terminal). In this case it's up to the terminal # to support the ANSI codes. - conversion_supported = on_windows and winapi_test() + if on_windows and platform.release().startswith('10'): + # Windows 10 supports ANSI sequences using virtual terminal mode. + # However, this has been turned off by default from an early Windows 10 version. + # We turn virtual terminal support back on, then set + # `conversion_supported` to False. Behaviour will then be the same + # as for Linux - colorama doesn't use win32 calls. + from ctypes import wintypes, byref # import wintypes now we know we're on Windows. + old_mode = wintypes.DWORD() + + stdout_handle = windll.kernel32.GetStdHandle(STDOUT) + # If the next call failed, we may be running on Windows pre 10.0.10586. + # Leave ANSI handling to colorama, there's no virtual terminal support available. + if windll.kernel32.GetConsoleMode(stdout_handle, byref(old_mode)): + if not (old_mode.value & ENABLE_VIRTUAL_TERMINAL_PROCESSING): + if old_mode_value is None: + # Don't set this again. __init__ gets called twice, for stdout and stderr. + old_mode_value = old_mode.value + print("Stored old_mode_value = " + str(old_mode_value)) + # Only enable if it's not already enabled + print("enabling virtual terminal for " + str(self.stream)) + if windll.kernel32.SetConsoleMode(stdout_handle, old_mode_value | ENABLE_VIRTUAL_TERMINAL_PROCESSING): + we_enabled_windows_vt = True + + conversion_supported = False + print("virtual terminal enabled for " + str(self. stream)) + + # If not on Windows 10, we have colorama's previous behaviour. + # Make sure we don't stomp on `conversion_supported` if it was set False above. + conversion_supported = conversion_supported and on_windows and winapi_test() # should we strip ANSI sequences from our output? if strip is None: @@ -104,13 +141,13 @@ def __init__(self, wrapped, convert=None, strip=None, autoreset=False): self.on_stderr = self.wrapped is sys.stderr def should_wrap(self): - """ + ''' True if this class is actually needed. If false, then the output stream will not be affected, nor will win32 calls be issued, so wrapping stdout is not actually required. This will generally be False on non-Windows platforms, unless optional functionality like autoreset has been requested using kwargs to init() - """ + ''' return self.convert or self.strip or self.autoreset def get_win32_calls(self): @@ -122,10 +159,10 @@ def get_win32_calls(self): AnsiStyle.NORMAL: (winterm.style, WinStyle.NORMAL), AnsiStyle.BRIGHT_OFF: (winterm.style, WinStyle.NORMAL), - AnsiStyle.UNDERLINE: (winterm.style, WinStyle.UNDERLINE), - AnsiStyle.UNDERLINE_OFF: (winterm.style, WinStyle.UNDERLINE_OFF), - AnsiStyle.REVERSE: (winterm.style, WinStyle.REVERSE), - AnsiStyle.REVERSE_OFF: (winterm.style, WinStyle.REVERSE_OFF), + AnsiStyle.UNDERLINE: (winterm.not_implemented, WinStyle.UNDERLINE), + AnsiStyle.UNDERLINE_OFF: (winterm.not_implemented, WinStyle.UNDERLINE_OFF), + AnsiStyle.REVERSE: (winterm.not_implemented, WinStyle.REVERSE), + AnsiStyle.REVERSE_OFF: (winterm.not_implemented, WinStyle.REVERSE_OFF), AnsiFore.BLACK: (winterm.fore, WinColor.BLACK), AnsiFore.RED: (winterm.fore, WinColor.RED), @@ -173,18 +210,30 @@ def write(self, text): if self.autoreset: self.reset_all() + def reset_all(self): + global we_enabled_windows_vt if self.convert: self.call_win32('m', (0,)) elif not self.strip and not self.stream.closed: self.wrapped.write(Style.RESET_ALL) + print("AnsiToWin32.reset_all() called") + if we_enabled_windows_vt: + stdout_handle = windll.kernel32.GetStdHandle(STDOUT) + # We enabled it, so turn it off again. + windll.kernel32.SetConsoleMode(stdout_handle, old_mode_value) + we_enabled_windows_vt = False + print("disabled virtual terminal on " + str(self.stream)) + print("restored to " + str(old_mode_value)) + + def write_and_convert(self, text): - """ + ''' Write the given text to our wrapped stream, stripping any ANSI sequences from the text, and optionally converting them into win32 calls. - """ + ''' cursor = 0 text = self.convert_osc(text) for match in self.ANSI_CSI_RE.finditer(text): @@ -194,16 +243,19 @@ def write_and_convert(self, text): cursor = end self.write_plain_text(text, cursor, len(text)) + def write_plain_text(self, text, start, end): if start < end: self.wrapped.write(text[start:end]) self.wrapped.flush() + def convert_ansi(self, paramstring, command): if self.convert: params = self.extract_params(command, paramstring) self.call_win32(command, params) + def extract_params(self, command, paramstring): if command in 'Hf': params = tuple(int(p) if len(p) != 0 else 1 for p in paramstring.split(';')) @@ -221,6 +273,7 @@ def extract_params(self, command, paramstring): return params + def call_win32(self, command, params): if command == 'm': for param in params: @@ -242,6 +295,7 @@ def call_win32(self, command, params): x, y = {'A': (0, -n), 'B': (0, n), 'C': (n, 0), 'D': (-n, 0)}[command] winterm.cursor_adjust(x, y, on_stderr=self.on_stderr) + def convert_osc(self, text): for match in self.ANSI_OSC_RE.finditer(text): start, end = match.span() diff --git a/colorama/tests/ansitowin32_test.py b/colorama/tests/ansitowin32_test.py index 99ebd29..bbe99f4 100644 --- a/colorama/tests/ansitowin32_test.py +++ b/colorama/tests/ansitowin32_test.py @@ -170,13 +170,19 @@ def test_reset_all_shouldnt_raise_on_closed_orig_stdout(self): def test_wrap_shouldnt_raise_on_closed_orig_stdout(self): stream = StringIO() stream.close() - converter = AnsiToWin32(stream) - self.assertFalse(converter.strip) + with \ + patch("colorama.ansitowin32.os.name", "nt"), \ + patch("colorama.ansitowin32.winapi_test", lambda: True): + converter = AnsiToWin32(stream) + self.assertTrue(converter.strip) self.assertFalse(converter.convert) def test_wrap_shouldnt_raise_on_missing_closed_attr(self): - converter = AnsiToWin32(object()) - self.assertFalse(converter.strip) + with \ + patch("colorama.ansitowin32.os.name", "nt"), \ + patch("colorama.ansitowin32.winapi_test", lambda: True): + converter = AnsiToWin32(object()) + self.assertTrue(converter.strip) self.assertFalse(converter.convert) def testExtractParams(self): diff --git a/colorama/tests/undrev_test.py b/colorama/tests/undrev_test.py new file mode 100644 index 0000000..4271da5 --- /dev/null +++ b/colorama/tests/undrev_test.py @@ -0,0 +1,50 @@ +import colorama +# some ANSI escape sequence for colours and effects. +BLACK = '\u001b[30m' +RED = '\u001b[31m' +GREEN = '\u001b[32m' +YELLOW = '\u001b[33m' +BLUE = '\u001b[34m' +MAGENTA = '\u001b[35m' +CYAN = '\u001b[36m' +WHITE = '\u001b[37m' +RESET = '\u001b[0m' + +BOLD = '\u001b[1m' +UNDERLINE = '\u001b[4m' +REVERSE = '\u001b[7m' + + +print(RED, "this will be in red") +print(" and this one also") + +print() + +def colour_print(text: str, effect: str) -> None: + """ + Print 'text' using the ANSI sequence to change colour, etc + :param text: The text we want to print + :param effect: The effect we want. One of the constants + defined at the start of this module. + """ + output_string = "{0}{1}{2}".format(effect, text, RESET) + print(output_string) + + +# colorama.init() +colour_print("Hello, red", RED) +# Check that the colour was reset. +print("This should be in the default terminal colour") +colour_print("Hello, Blue", BLUE) +colour_print("Hello, Yellow", YELLOW) +colour_print("Hello, Bold", BOLD) +colour_print("Hello, Underline", UNDERLINE) +colour_print("Hello, Reverse", REVERSE) +colour_print("Hello, Black", BLACK) + +print(colorama.Style.REVERSE_OFF + colorama.Back.GREEN + "off?" + colorama.Style.RESET_ALL) +print(colorama.Style.REVERSE + colorama.Back.GREEN + "off?" + colorama.Style.RESET_ALL) + +print(colorama.Style.REVERSE + colorama.Style.REVERSE_OFF + colorama.Back.GREEN + "off?" + colorama.Style.RESET_ALL) + +# colorama.deinit() diff --git a/colorama/tests/winterm_test.py b/colorama/tests/winterm_test.py index 1cb36c3..d0955f9 100644 --- a/colorama/tests/winterm_test.py +++ b/colorama/tests/winterm_test.py @@ -20,8 +20,7 @@ def testInit(self, mockWin32): term = WinTerm() self.assertEqual(term._fore, 7) self.assertEqual(term._back, 6) - # _default_style should be correct. _style will have been reset to 0 - self.assertEqual(term._default_style, 8) + self.assertEqual(term._style, 8) @skipUnless(sys.platform.startswith("win"), "requires Windows") def testGetAttrs(self): @@ -61,8 +60,7 @@ def testResetAll(self, mockWin32): self.assertEqual(term._fore, 1) self.assertEqual(term._back, 2) - # _default_style should be correct. _style will have been reset to 0 - self.assertEqual(term._default_style, 8) + self.assertEqual(term._style, 8) self.assertEqual(term.set_console.called, True) @skipUnless(sys.platform.startswith("win"), "requires Windows") diff --git a/colorama/win32.py b/colorama/win32.py index c2d8360..5242ffe 100644 --- a/colorama/win32.py +++ b/colorama/win32.py @@ -3,6 +3,7 @@ # from winbase.h STDOUT = -11 STDERR = -12 +ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004 try: import ctypes diff --git a/colorama/winterm.py b/colorama/winterm.py index 948374f..a63503b 100644 --- a/colorama/winterm.py +++ b/colorama/winterm.py @@ -34,12 +34,6 @@ def __init__(self): self._default_fore = self._fore self._default_back = self._back self._default_style = self._style - - # Cater for the default console using bright foreground. - # If we don't clear BRIGHT, normal text will render as bold. - if self._default_style & WinStyle.BRIGHT: - self._style &= ~WinStyle.BRIGHT - # In order to emulate LIGHT_EX in windows, we borrow the BRIGHT style. # So that LIGHT_EX colors and BRIGHT style do not clobber each other, # we track them separately, since LIGHT_EX is overwritten by Fore/Back @@ -58,16 +52,11 @@ def reset_all(self, on_stderr=None): self.set_attrs(self._default) self.set_console(attrs=self._default) self._light = 0 - self._style = self._default_style - # Turn off BRIGHT if that's the default for the console foreground. - if self._default_style & WinStyle.BRIGHT: - self._style &= ~WinStyle.BRIGHT def fore(self, fore=None, light=False, on_stderr=False): if fore is None: fore = self._default_fore self._fore = fore - # Emulate LIGHT_EX with BRIGHT Style if light: self._light |= WinStyle.BRIGHT @@ -89,26 +78,7 @@ def back(self, back=None, light=False, on_stderr=False): def style(self, style=None, on_stderr=False): if style is None: style = self._default_style - reverse_set = self._style & WinStyle.REVERSE - underline_set = self._style & WinStyle.UNDERLINE - - # Preserve any existing style(s) - this allows things - # like bold *and* underline. - # Note that NORMAL (0) would reset everything. We only want - # it to reset BRIGHT or DIM. - if style: - self._style |= style - else: - self._style = style | reverse_set | underline_set - - # Now deal with turning attributes off. SetConsoleTextAttribute - # doesn't currently have attributes to cancel bold, reverse and underline - # https://docs.microsoft.com/en-us/windows/console/console-screen-buffers - if reverse_set: - self._style &= ~(style & WinStyle.REVERSE_OFF) - if underline_set: - self._style &= ~(style & WinStyle.UNDERLINE_OFF) - + self._style = style self.set_console(on_stderr=on_stderr) def set_console(self, attrs=None, on_stderr=False): @@ -204,3 +174,6 @@ def erase_line(self, mode=0, on_stderr=False): def set_title(self, title): win32.SetConsoleTitle(title) + + def not_implemented(self, *args, **kwargs): + pass diff --git a/release.ps1 b/release.ps1 new file mode 100644 index 0000000..ac4e268 --- /dev/null +++ b/release.ps1 @@ -0,0 +1,7 @@ +$ve="$HOME\.virtualenvs\colorama" +$bin="$ve\Scripts" +$version="$(& $bin\python.exe setup.py --version)" + +# Upload to PyPI. +& $bin\twine.exe upload dist\colorama-$version*.tar.gz dist\colorama-$version-*.whl + diff --git a/setup.py b/setup.py index 31720d0..4e75c12 100644 --- a/setup.py +++ b/setup.py @@ -57,6 +57,7 @@ def get_version(path): 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Terminals', diff --git a/test-release b/test-release new file mode 100644 index 0000000..15812ef --- /dev/null +++ b/test-release @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +# Test the currently built release of Colorama from the dist/ dir. +# Run this before making a release. +# +# This should be run on Windows, because Colorama is mostly a no-op elsewhere. +# Hmmm, this script should probably be a .bat file then? Nah, WSL FTW. +# +# Uploads package from the dist/ directory to the *test* PyPI. +# Create a fresh virtualenvironment and install colorama from test PyPI. +# Import Colorama and make trivial use of it. + +# Exit on error +set -eu -o pipefail + +syspython=python3.8 +bin="$HOME/.virtualenvs/colorama/bin" +version=$($bin/python setup.py --version) +sandbox=test-release-playground + +# Upload to the test PyPI. +$bin/twine upload --repository testpypi dist/colorama-$version-* \ + || echo " > Expect a 400 if package was already uploaded." + +# cd elsewhere so we cannot import from local source. +mkdir -p $sandbox +( + cd $sandbox + + # Create a temporary disposable virtualenv. + $syspython -m venv --clear venv + + # Install the package we just uploaded. + # (--extra-index-url for this project's requirements) + venv/bin/python -m pip --quiet install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple colorama==$version + + # Import and use Colorama from the temp virtualenv. + venv/bin/python -c "import colorama; colorama.init(); print(colorama.Fore.GREEN + \"OK: Colorama\", colorama.__version__, \"from test pypi install.\")" +) + +# Tidy up +rm -rf $sandbox + diff --git a/test-release.ps1 b/test-release.ps1 new file mode 100644 index 0000000..19c6967 --- /dev/null +++ b/test-release.ps1 @@ -0,0 +1,30 @@ +$syspython="python3.8.exe" +$ve="$HOME\.virtualenvs\colorama" +$bin="$ve\Scripts" +$version="$(& $bin\python.exe setup.py --version)" + +# Upload to the test PyPI. +& $bin\twine.exe upload --repository testpypi dist\colorama-$version-* +if(!$?) { + write-host " > Expect a 400 if package was already uploaded" +} + +# cd elsewhere so we cannot import from local source. +mkdir -force sandbox | out-null +cd sandbox + +# Create a temporary disposable virtualenv. +& $syspython -m venv --clear venv + +# Install the package we just uploaded. +# (--extra-index-url for this project's requirements) +venv\Scripts\python -m pip --quiet install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple colorama==$version +# Import and use colorama from the temp virtualenv. +venv\Scripts\python.exe -c @" +import colorama; +colorama.init(); +print(colorama.Fore.GREEN + ""OK Colorama "" + colorama.__version__ + "" from test pypi install."") +"@ + +cd .. + diff --git a/test.ps1 b/test.ps1 new file mode 100644 index 0000000..03ea144 --- /dev/null +++ b/test.ps1 @@ -0,0 +1,5 @@ +$ve="$HOME\.virtualenvs\colorama" +$bin="$ve\Scripts" + +& $bin\python.exe -m unittest discover -p *_test.py + diff --git a/tox.ini b/tox.ini index aa8c783..1588d99 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py27, py35, py36, py37, py38, pypy +envlist = py27, py35, py36, py37, py38, py39, pypy [testenv] deps = py27,pypy: mock From 6ee11c185b4cc7bacdfbe2f988f894420b41f97f Mon Sep 17 00:00:00 2001 From: jpwroberts Date: Sun, 14 Feb 2021 00:19:42 +0100 Subject: [PATCH 5/5] Left diagnostic print statements in the code --- colorama/ansitowin32.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/colorama/ansitowin32.py b/colorama/ansitowin32.py index 912567a..38abb6d 100644 --- a/colorama/ansitowin32.py +++ b/colorama/ansitowin32.py @@ -111,14 +111,11 @@ def __init__(self, wrapped, convert=None, strip=None, autoreset=False): if old_mode_value is None: # Don't set this again. __init__ gets called twice, for stdout and stderr. old_mode_value = old_mode.value - print("Stored old_mode_value = " + str(old_mode_value)) # Only enable if it's not already enabled - print("enabling virtual terminal for " + str(self.stream)) if windll.kernel32.SetConsoleMode(stdout_handle, old_mode_value | ENABLE_VIRTUAL_TERMINAL_PROCESSING): we_enabled_windows_vt = True conversion_supported = False - print("virtual terminal enabled for " + str(self. stream)) # If not on Windows 10, we have colorama's previous behaviour. # Make sure we don't stomp on `conversion_supported` if it was set False above.