Hello community,
here is the log from the commit of package python-colorama for openSUSE:Factory
checked in at 2020-10-22 14:20:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-colorama (Old)
and /work/SRC/openSUSE:Factory/.python-colorama.new.3463 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-colorama"
Thu Oct 22 14:20:58 2020 rev:16 rq:842476 version:0.4.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-colorama/python-colorama.changes
2020-04-05 20:52:11.353104780 +0200
+++
/work/SRC/openSUSE:Factory/.python-colorama.new.3463/python-colorama.changes
2020-10-22 14:22:04.446739028 +0200
@@ -1,0 +2,6 @@
+Mon Oct 19 06:43:42 UTC 2020 - Dirk Mueller <[email protected]>
+
+- update to 0.4.4:
+ * Fixes
+
+-------------------------------------------------------------------
Old:
----
0.4.3.tar.gz
New:
----
0.4.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-colorama.spec ++++++
--- /var/tmp/diff_new_pack.2OrzVA/_old 2020-10-22 14:22:05.918740348 +0200
+++ /var/tmp/diff_new_pack.2OrzVA/_new 2020-10-22 14:22:05.922740353 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-colorama
-Version: 0.4.3
+Version: 0.4.4
Release: 0
Summary: Cross-platform colored terminal text
License: BSD-3-Clause
++++++ 0.4.3.tar.gz -> 0.4.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/.github/FUNDING.yml
new/colorama-0.4.4/.github/FUNDING.yml
--- old/colorama-0.4.3/.github/FUNDING.yml 2019-12-06 21:48:20.000000000
+0100
+++ new/colorama-0.4.4/.github/FUNDING.yml 2020-10-13 06:46:33.000000000
+0200
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/.gitignore
new/colorama-0.4.4/.gitignore
--- old/colorama-0.4.3/.gitignore 2019-12-06 21:48:20.000000000 +0100
+++ new/colorama-0.4.4/.gitignore 2020-10-13 06:46:33.000000000 +0200
@@ -2,11 +2,12 @@
*.egg-info
.coverage
.tox/
-MANIFEST
-dist
-tags
+/MANIFEST
+/build/
+/dist/
+/sandbox/
+/tags
virtualenv
-build
# PyCharm
.idea
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/.travis.yml
new/colorama-0.4.4/.travis.yml
--- old/colorama-0.4.3/.travis.yml 2019-12-06 21:48:20.000000000 +0100
+++ new/colorama-0.4.4/.travis.yml 2020-10-13 06:46:33.000000000 +0200
@@ -1,12 +1,16 @@
language: python
cache: pip
-python:
- - "2.7"
- - "3.8"
- - "3.7"
- - "3.6"
- - "3.5"
- - "pypy"
+matrix:
+ include:
+ - python: 2.7
+ - python: 3.8
+ - arch: arm64
+ python: 3.7
+ - arch: amd64
+ python: 3.7
+ - python: 3.6
+ - python: 3.5
+ - python: pypy
install:
- "pip install mock"
script: "python -m unittest discover -p *_test.py"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/CHANGELOG.rst
new/colorama-0.4.4/CHANGELOG.rst
--- old/colorama-0.4.3/CHANGELOG.rst 2019-12-06 21:48:20.000000000 +0100
+++ new/colorama-0.4.4/CHANGELOG.rst 2020-10-13 06:46:33.000000000 +0200
@@ -1,3 +1,10 @@
+0.4.3
+ * Fix release 0.4.2 which was uploaded with missing files.
+0.4.2
+ * #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.
+ * Added Tidelift subscription information.
0.4.1
* Fix issue #196: prevent exponential number of calls when calling 'init'
multiple times. Reported by bbayles and fixed by Delgan.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/Makefile new/colorama-0.4.4/Makefile
--- old/colorama-0.4.3/Makefile 2019-12-06 21:48:20.000000000 +0100
+++ new/colorama-0.4.4/Makefile 2020-10-13 06:46:33.000000000 +0200
@@ -10,24 +10,56 @@
@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 an sdist and wheel
+ $(python) -m pip install --upgrade setuptools wheel
+ $(python) setup.py sdist bdist_wheel
+.PHONY: sdist
+
+test-release: build
+ ./test-release
+.PHONY: test-release
+
+release: ## Upload our sdist and wheel
+ $(twine) upload dist/colorama-$(version)-*
+.PHONY: release
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/README.rst
new/colorama-0.4.4/README.rst
--- old/colorama-0.4.3/README.rst 2019-12-06 21:48:20.000000000 +0100
+++ new/colorama-0.4.4/README.rst 2020-10-13 06:46:33.000000000 +0200
@@ -10,19 +10,36 @@
: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 <https://pypi.org/project/colorama/>`_ ·
+`Github for source <https://github.com/tartley/colorama>`_ ·
+`Colorama for enterprise on Tidelift
<https://github.com/tartley/colorama/blob/master/ENTERPRISE.md>`_
+
+If you find Colorama useful, please |donate| to the authors. Thank you!
+
+
+Installation
+------------
+
+.. 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 +47,6 @@
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 +72,14 @@
: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 +97,14 @@
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 to calling ``init()`` again (but does the same thing).
+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 +125,10 @@
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 <https://pypi.org/project/termcolor/>`_
+or the fabulous `Blessings <https://pypi.org/project/blessings/>`_.
+This is highly recommended for anything more than trivial coloring:
.. code-block:: python
@@ -150,14 +152,14 @@
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.
@@ -174,7 +176,7 @@
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).
@@ -184,7 +186,7 @@
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
@@ -208,39 +210,10 @@
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 [ <param> ; <param> ... <command>
@@ -249,7 +222,7 @@
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
@@ -306,29 +279,78 @@
GitHub.
+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 wish-list:
+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.
+
+
+License
+-------
+
+Copyright Jonathan Hartley & Arnon Yaari, 2013-2020. BSD 3-Clause license; see
+LICENSE file.
+
+
Development
-===========
+-----------
Help and fixes welcome!
-Running tests requires:
+Tested on CPython 2.7, 3.5, 3.6, 3.7 and 3.8.
-- Michael Foord's ``mock`` module to be installed.
-- Tests are written using 2010-era updates to ``unittest``
+No requirements other than the standard library.
+Development requirements are captured in requirements-dev.txt.
-To run tests::
+To create and populate a virtual environment::
- python -m unittest discover -p *_test.py
+ ./bootstrap.ps1 # Windows
+ make bootstrap # Linux
-This, like a few other handy commands, is captured in a ``Makefile``.
+To run tests::
+
+ ./test.ps1 # Windows
+ make test # Linux
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.
+To build a local wheel file::
+
+ ./build.ps1 # Windows
+ make build # Linux
+
+To test the wheel, (upload to test PyPI, then 'pip install' & use it)::
+
+ ./test-release.ps1 # Windows
+ make test-release # Linux
+
+To upload the wheel to PyPI::
+
+ ./release.ps1 # Windows
+ make release # Linux
+
+To clean all generated files, builds, virtualenv::
+
+ ./clean.ps1 # Windows
+ make clean # Linux
+
Professional support
-====================
+--------------------
.. |tideliftlogo| image::
https://cdn2.hubspot.net/hubfs/4008838/website/logos/logos_for_download/Tidelift_primary-shorthand-logo.png
:alt: Tidelift
@@ -349,7 +371,8 @@
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,
@@ -378,3 +401,4 @@
to include Python 3.3 and 3.4
* Andy Neff for fixing RESET of LIGHT_EX colors.
* Jonathan Hartley for the initial idea and implementation.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/bootstrap.ps1
new/colorama-0.4.4/bootstrap.ps1
--- old/colorama-0.4.3/bootstrap.ps1 1970-01-01 01:00:00.000000000 +0100
+++ new/colorama-0.4.4/bootstrap.ps1 2020-10-13 06:46:33.000000000 +0200
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/build.ps1 new/colorama-0.4.4/build.ps1
--- old/colorama-0.4.3/build.ps1 1970-01-01 01:00:00.000000000 +0100
+++ new/colorama-0.4.4/build.ps1 2020-10-13 06:46:33.000000000 +0200
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/clean.ps1 new/colorama-0.4.4/clean.ps1
--- old/colorama-0.4.3/clean.ps1 1970-01-01 01:00:00.000000000 +0100
+++ new/colorama-0.4.4/clean.ps1 2020-10-13 06:46:33.000000000 +0200
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/colorama/__init__.py
new/colorama-0.4.4/colorama/__init__.py
--- old/colorama-0.4.3/colorama/__init__.py 2019-12-06 21:48:20.000000000
+0100
+++ new/colorama-0.4.4/colorama/__init__.py 2020-10-13 06:46:33.000000000
+0200
@@ -3,4 +3,4 @@
from .ansi import Fore, Back, Style, Cursor
from .ansitowin32 import AnsiToWin32
-__version__ = '0.4.3'
+__version__ = '0.4.4'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/colorama/ansi.py
new/colorama-0.4.4/colorama/ansi.py
--- old/colorama-0.4.3/colorama/ansi.py 2019-12-06 21:48:20.000000000 +0100
+++ new/colorama-0.4.4/colorama/ansi.py 2020-10-13 06:46:33.000000000 +0200
@@ -6,7 +6,7 @@
CSI = '\033['
OSC = '\033]'
-BEL = '\007'
+BEL = '\a'
def code_to_chars(code):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/colorama/ansitowin32.py
new/colorama-0.4.4/colorama/ansitowin32.py
--- old/colorama-0.4.3/colorama/ansitowin32.py 2019-12-06 21:48:20.000000000
+0100
+++ new/colorama-0.4.4/colorama/ansitowin32.py 2020-10-13 06:46:33.000000000
+0200
@@ -3,7 +3,7 @@
import sys
import os
-from .ansi import AnsiFore, AnsiBack, AnsiStyle, Style
+from .ansi import AnsiFore, AnsiBack, AnsiStyle, Style, BEL
from .winterm import WinTerm, WinColor, WinStyle
from .win32 import windll, winapi_test
@@ -68,7 +68,7 @@
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\\]((?:.|;)*?)(\x07)\002?') #
Operating System Command
+ ANSI_OSC_RE = re.compile('\001?\033\\]([^\a]*)(\a)\002?') #
Operating System Command
def __init__(self, wrapped, convert=None, strip=None, autoreset=False):
# The wrapped stream (normally sys.stdout or sys.stderr)
@@ -247,11 +247,12 @@
start, end = match.span()
text = text[:start] + text[end:]
paramstring, command = match.groups()
- if command in '\x07': # \x07 = BEL
- params = paramstring.split(";")
- # 0 - change title and icon (we will only change title)
- # 1 - change icon (we don't support this)
- # 2 - change title
- if params[0] in '02':
- winterm.set_title(params[1])
+ if command == BEL:
+ if paramstring.count(";") == 1:
+ params = paramstring.split(";")
+ # 0 - change title and icon (we will only change title)
+ # 1 - change icon (we don't support this)
+ # 2 - change title
+ if params[0] in '02':
+ winterm.set_title(params[1])
return text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/colorama/tests/ansitowin32_test.py
new/colorama-0.4.4/colorama/tests/ansitowin32_test.py
--- old/colorama-0.4.3/colorama/tests/ansitowin32_test.py 2019-12-06
21:48:20.000000000 +0100
+++ new/colorama-0.4.4/colorama/tests/ansitowin32_test.py 2020-10-13
06:46:33.000000000 +0200
@@ -2,7 +2,10 @@
from io import StringIO
from unittest import TestCase, main
-from mock import MagicMock, Mock, patch
+try:
+ from unittest.mock import MagicMock, Mock, patch
+except ImportError:
+ from mock import MagicMock, Mock, patch
from ..ansitowin32 import AnsiToWin32, StreamWrapper
from .utils import osname
@@ -203,6 +206,21 @@
[a[0][0] for a in listener.call_args_list],
[33, 11, 22] )
+ def test_osc_codes(self):
+ mockStdout = Mock()
+ stream = AnsiToWin32(mockStdout, convert=True)
+ with patch('colorama.ansitowin32.winterm') as winterm:
+ data = [
+ '\033]0\x07', # missing arguments
+ '\033]0;foo\x08', # wrong OSC command
+ '\033]0;colorama_test_title\x07', # should work
+ '\033]1;colorama_test_title\x07', # wrong set command
+ '\033]2;colorama_test_title\x07', # should work
+ '\033]' + ';' * 64 + '\x08', # see issue #247
+ ]
+ for code in data:
+ stream.write(code)
+ self.assertEqual(winterm.set_title.call_count, 2)
if __name__ == '__main__':
main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/colorama/tests/initialise_test.py
new/colorama-0.4.4/colorama/tests/initialise_test.py
--- old/colorama-0.4.3/colorama/tests/initialise_test.py 2019-12-06
21:48:20.000000000 +0100
+++ new/colorama-0.4.4/colorama/tests/initialise_test.py 2020-10-13
06:46:33.000000000 +0200
@@ -1,9 +1,12 @@
# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
import os
import sys
-from unittest import TestCase, main
+from unittest import TestCase, main, skipUnless
-from mock import patch
+try:
+ from unittest.mock import patch
+except ImportError:
+ from mock import patch
from ..ansitowin32 import StreamWrapper
from ..initialise import init
@@ -15,6 +18,7 @@
class InitTest(TestCase):
+ @skipUnless(sys.stdout.isatty(), "sys.stdout is not a tty")
def setUp(self):
# sanity check
self.assertNotWrapped()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/colorama/tests/utils.py
new/colorama-0.4.4/colorama/tests/utils.py
--- old/colorama-0.4.3/colorama/tests/utils.py 2019-12-06 21:48:20.000000000
+0100
+++ new/colorama-0.4.4/colorama/tests/utils.py 2020-10-13 06:46:33.000000000
+0200
@@ -4,7 +4,10 @@
import sys
import os
-from mock import Mock
+try:
+ from unittest.mock import Mock
+except ImportError:
+ from mock import Mock
class StreamTTY(StringIO):
def isatty(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/colorama/tests/winterm_test.py
new/colorama-0.4.4/colorama/tests/winterm_test.py
--- old/colorama-0.4.3/colorama/tests/winterm_test.py 2019-12-06
21:48:20.000000000 +0100
+++ new/colorama-0.4.4/colorama/tests/winterm_test.py 2020-10-13
06:46:33.000000000 +0200
@@ -2,7 +2,10 @@
import sys
from unittest import TestCase, main, skipUnless
-from mock import Mock, patch
+try:
+ from unittest.mock import Mock, patch
+except ImportError:
+ from mock import Mock, patch
from ..winterm import WinColor, WinStyle, WinTerm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/demos/demo06.py
new/colorama-0.4.4/demos/demo06.py
--- old/colorama-0.4.3/demos/demo06.py 2019-12-06 21:48:20.000000000 +0100
+++ new/colorama-0.4.4/demos/demo06.py 2020-10-13 06:46:33.000000000 +0200
@@ -2,7 +2,7 @@
from __future__ import print_function
import fixpath
import colorama
-from colorama import Fore, Back, Style
+from colorama import Fore, Back, Style, Cursor
from random import randint, choice
from string import printable
@@ -25,8 +25,7 @@
def main():
colorama.init()
- # gratuitous use of lambda.
- pos = lambda y, x: '\x1b[%d;%dH' % (y, x)
+ pos = lambda y, x: Cursor.POS(x, y)
# draw a white border.
print(Back.WHITE, end='')
print('%s%s' % (pos(MINY, MINX), ' '*MAXX), end='')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/release.ps1
new/colorama-0.4.4/release.ps1
--- old/colorama-0.4.3/release.ps1 1970-01-01 01:00:00.000000000 +0100
+++ new/colorama-0.4.4/release.ps1 2020-10-13 06:46:33.000000000 +0200
@@ -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-*
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/requirements-dev.txt
new/colorama-0.4.4/requirements-dev.txt
--- old/colorama-0.4.3/requirements-dev.txt 2019-12-06 21:48:20.000000000
+0100
+++ new/colorama-0.4.4/requirements-dev.txt 2020-10-13 06:46:33.000000000
+0200
@@ -1,3 +1,3 @@
-mock>=1.0.1
+mock>=1.0.1;python_version<"3.3"
twine>=3.1.1
-e .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/test-release
new/colorama-0.4.4/test-release
--- old/colorama-0.4.3/test-release 1970-01-01 01:00:00.000000000 +0100
+++ new/colorama-0.4.4/test-release 2020-10-13 06:46:33.000000000 +0200
@@ -0,0 +1,42 @@
+#!/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.
+ venv/bin/python -m pip --quiet install --index-url
https://test.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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/test-release.ps1
new/colorama-0.4.4/test-release.ps1
--- old/colorama-0.4.3/test-release.ps1 1970-01-01 01:00:00.000000000 +0100
+++ new/colorama-0.4.4/test-release.ps1 2020-10-13 06:46:33.000000000 +0200
@@ -0,0 +1,29 @@
+$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.
+venv\Scripts\python -m pip --quiet install --index-url
https://test.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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/test.ps1 new/colorama-0.4.4/test.ps1
--- old/colorama-0.4.3/test.ps1 1970-01-01 01:00:00.000000000 +0100
+++ new/colorama-0.4.4/test.ps1 2020-10-13 06:46:33.000000000 +0200
@@ -0,0 +1,5 @@
+$ve="$HOME\.virtualenvs\colorama"
+$bin="$ve\Scripts"
+
+& $bin\python.exe -m unittest discover -p *_test.py
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/colorama-0.4.3/tox.ini new/colorama-0.4.4/tox.ini
--- old/colorama-0.4.3/tox.ini 2019-12-06 21:48:20.000000000 +0100
+++ new/colorama-0.4.4/tox.ini 2020-10-13 06:46:33.000000000 +0200
@@ -2,5 +2,5 @@
envlist = py27, py35, py36, py37, py38, pypy
[testenv]
-deps = mock
+deps = py27,pypy: mock
commands = python -m unittest discover -p *_test.py