diff -Nru kitchen-1.2.4/debian/changelog kitchen-1.2.5/debian/changelog --- kitchen-1.2.4/debian/changelog 2017-08-20 23:19:45.000000000 +0000 +++ kitchen-1.2.5/debian/changelog 2017-08-28 04:49:05.000000000 +0000 @@ -1,3 +1,14 @@ +kitchen (1.2.5-1) unstable; urgency=medium + + * New upstream version 1.2.5 + * Marking python-kitchen-doc as Multi-Arch: foreign. + * Bump standards to 4.1.0. + * Remove patch to update unicode table from d/path (incorporated by + upstream). (Closes: #872924) + * Updating d/patches to reflect new version. + + -- Sergio Durigan Junior Mon, 28 Aug 2017 00:49:05 -0400 + kitchen (1.2.4-3) unstable; urgency=medium [ Chris Lamb ] diff -Nru kitchen-1.2.4/debian/control kitchen-1.2.5/debian/control --- kitchen-1.2.4/debian/control 2017-08-20 23:19:45.000000000 +0000 +++ kitchen-1.2.5/debian/control 2017-08-28 04:49:05.000000000 +0000 @@ -16,14 +16,13 @@ python-coverage, python3-coverage, locales-all, -Standards-Version: 4.0.1 +Standards-Version: 4.1.0 X-Python-Version: >= 2.6 X-Python3-Version: >= 3.4 Homepage: https://github.com/fedora-infra/kitchen Vcs-Git: https://anonscm.debian.org/git/python-modules/packages/kitchen.git Vcs-Browser: https://anonscm.debian.org/cgit/python-modules/packages/kitchen.git Testsuite: autopkgtest-pkg-python -Multi-Arch: foreign Package: python-kitchen Architecture: all @@ -63,6 +62,7 @@ Architecture: all Section: doc Depends: ${sphinxdoc:Depends}, ${misc:Depends} +Multi-Arch: foreign Description: Python library of containers, text and i18n helpers (common documentation) The kitchen Python package aims at gathering in one place all the snippets of code that the author originally carried around from project to project to ease diff -Nru kitchen-1.2.4/debian/patches/fix_typos kitchen-1.2.5/debian/patches/fix_typos --- kitchen-1.2.4/debian/patches/fix_typos 2017-08-20 23:19:45.000000000 +0000 +++ kitchen-1.2.5/debian/patches/fix_typos 2017-08-28 04:49:05.000000000 +0000 @@ -17,22 +17,22 @@ releaseutils.py | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) -diff --git a/kitchen2/docs/api-pycompat27.rst b/kitchen2/docs/api-pycompat27.rst -index 6ef6db1..9654b31 100644 ---- a/kitchen2/docs/api-pycompat27.rst -+++ b/kitchen2/docs/api-pycompat27.rst -@@ -31,5 +31,5 @@ New API Feature Ver +Index: kitchen/kitchen2/docs/api-pycompat27.rst +=================================================================== +--- kitchen.orig/kitchen2/docs/api-pycompat27.rst 2017-08-28 00:40:52.320968774 -0400 ++++ kitchen/kitchen2/docs/api-pycompat27.rst 2017-08-28 00:40:52.316968791 -0400 +@@ -31,5 +31,5 @@ .. seealso:: - The stdlib :mod:`subprocess` documenation + The stdlib :mod:`subprocess` documentation For complete documentation on how to use subprocess -diff --git a/kitchen2/docs/designing-unicode-apis.rst b/kitchen2/docs/designing-unicode-apis.rst -index 24265fb..5c909a9 100644 ---- a/kitchen2/docs/designing-unicode-apis.rst -+++ b/kitchen2/docs/designing-unicode-apis.rst -@@ -581,7 +581,7 @@ you should consider when designing a :class:`unicode`-only API: +Index: kitchen/kitchen2/docs/designing-unicode-apis.rst +=================================================================== +--- kitchen.orig/kitchen2/docs/designing-unicode-apis.rst 2017-08-28 00:40:52.320968774 -0400 ++++ kitchen/kitchen2/docs/designing-unicode-apis.rst 2017-08-28 00:40:52.316968791 -0400 +@@ -581,7 +581,7 @@ that you may not have thought of. Corner cases in these other places may mean that processing bytes is desirable. 2. In python2, byte :class:`str` and :class:`unicode` are often used @@ -41,11 +41,11 @@ your API may have received :class:`str` from some other API and it would be most convenient for their code if your API accepted it. -diff --git a/kitchen2/docs/hacking.rst b/kitchen2/docs/hacking.rst -index 530b7f2..5eb03c7 100644 ---- a/kitchen2/docs/hacking.rst -+++ b/kitchen2/docs/hacking.rst -@@ -272,7 +272,7 @@ version. +Index: kitchen/kitchen2/docs/hacking.rst +=================================================================== +--- kitchen.orig/kitchen2/docs/hacking.rst 2017-08-28 00:40:52.320968774 -0400 ++++ kitchen/kitchen2/docs/hacking.rst 2017-08-28 00:40:52.316968791 -0400 +@@ -272,7 +272,7 @@ Criteria for subpackages in kitchen =================================== @@ -54,11 +54,11 @@ * Generally useful or needed for other pieces of kitchen. -diff --git a/kitchen2/docs/unicode-frustrations.rst b/kitchen2/docs/unicode-frustrations.rst -index c46e797..5175104 100644 ---- a/kitchen2/docs/unicode-frustrations.rst -+++ b/kitchen2/docs/unicode-frustrations.rst -@@ -33,7 +33,7 @@ In python-2.x, there's two types that deal with text. +Index: kitchen/kitchen2/docs/unicode-frustrations.rst +=================================================================== +--- kitchen.orig/kitchen2/docs/unicode-frustrations.rst 2017-08-28 00:40:52.320968774 -0400 ++++ kitchen/kitchen2/docs/unicode-frustrations.rst 2017-08-28 00:40:52.316968791 -0400 +@@ -33,7 +33,7 @@ with byte :class:`str` as those devices are going to need to deal with concrete implementations of what bytes represent your abstract characters. @@ -67,7 +67,7 @@ are several important APIs where only one or the other will do the right thing. When you give the wrong type of string to an API that wants the other type, you may end up with an exception being raised (:exc:`UnicodeDecodeError` -@@ -122,7 +122,7 @@ we're all set:: +@@ -122,7 +122,7 @@ So that was simple, right? Well... there's one gotcha that makes things a bit harder to debug sometimes. When you attempt to write non-:term:`ASCII` @@ -76,7 +76,7 @@ But what happens when you use :func:`print`? The terminal is a file-like object so it should raise an exception right? The answer to that is.... *sometimes*: -@@ -539,7 +539,7 @@ a short example that uses many kitchen functions to do its work:: +@@ -539,7 +539,7 @@ # Note that we do not let implici type conversion from str to # unicode transform b_filename into a unicode string. That might # fail as python would use the ASCII filename. Instead we use @@ -85,11 +85,11 @@ # not traceback. print _(u'filename: %s') % to_unicode(b_filename) print _(u'file size: %s') % size -diff --git a/kitchen2/kitchen/i18n/__init__.py b/kitchen2/kitchen/i18n/__init__.py -index 80fe3ea..b694409 100644 ---- a/kitchen2/kitchen/i18n/__init__.py -+++ b/kitchen2/kitchen/i18n/__init__.py -@@ -295,8 +295,8 @@ class DummyTranslations(object, gettext.NullTranslations): +Index: kitchen/kitchen2/kitchen/i18n/__init__.py +=================================================================== +--- kitchen.orig/kitchen2/kitchen/i18n/__init__.py 2017-08-28 00:40:52.320968774 -0400 ++++ kitchen/kitchen2/kitchen/i18n/__init__.py 2017-08-28 00:40:52.316968791 -0400 +@@ -295,8 +295,8 @@ def _reencode_if_necessary(self, message, output_encoding): '''Return a byte string that's valid in a specific charset. @@ -100,7 +100,7 @@ output encoding. ''' valid = False -@@ -721,7 +721,7 @@ def get_translation_object(domain, localedirs=tuple(), languages=None, +@@ -721,7 +721,7 @@ objects by default. These are superior to the :class:`gettext.GNUTranslations` and :class:`gettext.NullTranslations` objects because they are consistent in the string type they return and @@ -109,11 +109,11 @@ :exc:`UnicodeError`. 2. This function takes multiple directories to search for :term:`message catalogs`. -diff --git a/kitchen2/kitchen/pycompat25/collections/_defaultdict.py b/kitchen2/kitchen/pycompat25/collections/_defaultdict.py -index 94ff7c2..d29c29c 100644 ---- a/kitchen2/kitchen/pycompat25/collections/_defaultdict.py -+++ b/kitchen2/kitchen/pycompat25/collections/_defaultdict.py -@@ -73,7 +73,7 @@ the defaultdict class provided by python-2.5 and above. +Index: kitchen/kitchen2/kitchen/pycompat25/collections/_defaultdict.py +=================================================================== +--- kitchen.orig/kitchen2/kitchen/pycompat25/collections/_defaultdict.py 2017-08-28 00:40:52.320968774 -0400 ++++ kitchen/kitchen2/kitchen/pycompat25/collections/_defaultdict.py 2017-08-28 00:40:52.316968791 -0400 +@@ -73,7 +73,7 @@ # Pylint disabled messages # @@ -122,10 +122,10 @@ # the format of that name. import types -diff --git a/kitchen2/kitchen/text/display.py b/kitchen2/kitchen/text/display.py -index 81234de..792878b 100644 ---- a/kitchen2/kitchen/text/display.py -+++ b/kitchen2/kitchen/text/display.py +Index: kitchen/kitchen2/kitchen/text/display.py +=================================================================== +--- kitchen.orig/kitchen2/kitchen/text/display.py 2017-08-28 00:40:52.320968774 -0400 ++++ kitchen/kitchen2/kitchen/text/display.py 2017-08-28 00:40:52.316968791 -0400 @@ -3,7 +3,7 @@ # Copyright (c) 2013 Red Hat, Inc. # Copyright (c) 2010 Ville Skyttä @@ -144,7 +144,7 @@ # Toshio Kuratomi # Tim Lauridsen # Ville Skyttä -@@ -211,7 +211,7 @@ def _generate_combining_table(): +@@ -225,7 +225,7 @@ This is used to generate the :data:`~kitchen.text.display._COMBINING` table. ''' @@ -153,11 +153,11 @@ # characters generated ifrom Unicode 5.0 data by: # "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" markus_kuhn_combining_5_0 = ( -diff --git a/releaseutils.py b/releaseutils.py -index d2e64cf..828c071 100755 ---- a/releaseutils.py -+++ b/releaseutils.py -@@ -47,7 +47,7 @@ def main(): +Index: kitchen/releaseutils.py +=================================================================== +--- kitchen.orig/releaseutils.py 2017-08-28 00:40:52.320968774 -0400 ++++ kitchen/releaseutils.py 2017-08-28 00:40:52.316968791 -0400 +@@ -47,7 +47,7 @@ shutil.rmtree('locale') except OSError as e: # If the error is that locale does not exist, we're okay. We're diff -Nru kitchen-1.2.4/debian/patches/remove_compat_layers kitchen-1.2.5/debian/patches/remove_compat_layers --- kitchen-1.2.4/debian/patches/remove_compat_layers 2017-08-20 23:19:45.000000000 +0000 +++ kitchen-1.2.5/debian/patches/remove_compat_layers 2017-08-28 04:49:05.000000000 +0000 @@ -49,11 +49,11 @@ delete mode 100644 kitchen3/tests/test_deprecation_py3.py delete mode 100644 kitchen3/tests/test_pycompat.py -diff --git a/kitchen2/docs/api-overview.rst b/kitchen2/docs/api-overview.rst -index dda56fe..e53a94d 100644 ---- a/kitchen2/docs/api-overview.rst -+++ b/kitchen2/docs/api-overview.rst -@@ -16,9 +16,6 @@ that may drag in more dependencies can be found on the `project webpage`_ +Index: kitchen/kitchen2/docs/api-overview.rst +=================================================================== +--- kitchen.orig/kitchen2/docs/api-overview.rst 2017-08-28 00:47:21.493143026 -0400 ++++ kitchen/kitchen2/docs/api-overview.rst 2017-08-28 00:47:21.485143105 -0400 +@@ -16,9 +16,6 @@ api-collections api-iterutils api-versioning @@ -63,11 +63,10 @@ api-exceptions .. _`project webpage`: https://fedorahosted.org/kitchen -diff --git a/kitchen2/docs/api-pycompat24.rst b/kitchen2/docs/api-pycompat24.rst -deleted file mode 100644 -index a3247b6..0000000 ---- a/kitchen2/docs/api-pycompat24.rst -+++ /dev/null +Index: kitchen/kitchen2/docs/api-pycompat24.rst +=================================================================== +--- kitchen.orig/kitchen2/docs/api-pycompat24.rst 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -======================= -Python 2.4 Compatibiity @@ -103,11 +102,10 @@ - concentrate our efforts on keeping the single version of subprocess up - to date rather than working on a 2.4 version that very few people - would need specifically. -diff --git a/kitchen2/docs/api-pycompat25.rst b/kitchen2/docs/api-pycompat25.rst -deleted file mode 100644 -index 1841c6a..0000000 ---- a/kitchen2/docs/api-pycompat25.rst -+++ /dev/null +Index: kitchen/kitchen2/docs/api-pycompat25.rst +=================================================================== +--- kitchen.orig/kitchen2/docs/api-pycompat25.rst 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -======================== -Python 2.5 Compatibility @@ -117,11 +115,10 @@ - -.. automodule:: kitchen.pycompat25.collections._defaultdict - -diff --git a/kitchen2/docs/api-pycompat27.rst b/kitchen2/docs/api-pycompat27.rst -deleted file mode 100644 -index 9654b31..0000000 ---- a/kitchen2/docs/api-pycompat27.rst -+++ /dev/null +Index: kitchen/kitchen2/docs/api-pycompat27.rst +=================================================================== +--- kitchen.orig/kitchen2/docs/api-pycompat27.rst 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -======================== -Python 2.7 Compatibility @@ -158,11 +155,11 @@ - - The stdlib :mod:`subprocess` documentation - For complete documentation on how to use subprocess -diff --git a/kitchen2/kitchen/text/converters.py b/kitchen2/kitchen/text/converters.py -index e4bcb0d..eb518cb 100644 ---- a/kitchen2/kitchen/text/converters.py -+++ b/kitchen2/kitchen/text/converters.py -@@ -50,9 +50,6 @@ import codecs +Index: kitchen/kitchen2/kitchen/text/converters.py +=================================================================== +--- kitchen.orig/kitchen2/kitchen/text/converters.py 2017-08-28 00:47:21.493143026 -0400 ++++ kitchen/kitchen2/kitchen/text/converters.py 2017-08-28 00:47:21.485143105 -0400 +@@ -50,9 +50,6 @@ import warnings import xml.sax.saxutils @@ -172,11 +169,11 @@ from kitchen.text.exceptions import ControlCharError, XmlEncodeError from kitchen.text.misc import guess_encoding, html_entities_unescape, \ isbytestring, isunicodestring, process_control_chars -diff --git a/kitchen2/kitchen/text/misc.py b/kitchen2/kitchen/text/misc.py -index 333e363..babb68e 100644 ---- a/kitchen2/kitchen/text/misc.py -+++ b/kitchen2/kitchen/text/misc.py -@@ -43,11 +43,8 @@ try: +Index: kitchen/kitchen2/kitchen/text/misc.py +=================================================================== +--- kitchen.orig/kitchen2/kitchen/text/misc.py 2017-08-28 00:47:21.493143026 -0400 ++++ kitchen/kitchen2/kitchen/text/misc.py 2017-08-28 00:47:21.485143105 -0400 +@@ -43,11 +43,8 @@ except ImportError: chardet = None @@ -188,11 +185,10 @@ # Define a threshold for chardet confidence. If we fall below this we decode # byte strings we're guessing about as latin1 _CHARDET_THRESHHOLD = 0.6 -diff --git a/kitchen2/tests/subprocessdata/sigchild_ignore.py b/kitchen2/tests/subprocessdata/sigchild_ignore.py -deleted file mode 100644 -index 5b6dd08..0000000 ---- a/kitchen2/tests/subprocessdata/sigchild_ignore.py -+++ /dev/null +Index: kitchen/kitchen2/tests/subprocessdata/sigchild_ignore.py +=================================================================== +--- kitchen.orig/kitchen2/tests/subprocessdata/sigchild_ignore.py 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -import os -import signal, sys @@ -205,11 +201,11 @@ -# and causing us to exit with an error is what we are testing against. -signal.signal(signal.SIGCHLD, signal.SIG_IGN) -subprocess.Popen([sys.executable, '-c', 'print("albatross")']).wait() -diff --git a/kitchen2/tests/test__all__.py b/kitchen2/tests/test__all__.py -index dda287a..e08d699 100644 ---- a/kitchen2/tests/test__all__.py -+++ b/kitchen2/tests/test__all__.py -@@ -4,8 +4,6 @@ from nose import tools +Index: kitchen/kitchen2/tests/test__all__.py +=================================================================== +--- kitchen.orig/kitchen2/tests/test__all__.py 2017-08-28 00:47:21.493143026 -0400 ++++ kitchen/kitchen2/tests/test__all__.py 2017-08-28 00:47:21.485143105 -0400 +@@ -4,8 +4,6 @@ import os import types import warnings @@ -218,11 +214,10 @@ def logit(msg): log = open('/var/tmp/test.log', 'a') -diff --git a/kitchen2/tests/test_base64.py b/kitchen2/tests/test_base64.py -deleted file mode 100644 -index 49e1cd1..0000000 ---- a/kitchen2/tests/test_base64.py -+++ /dev/null +Index: kitchen/kitchen2/tests/test_base64.py +=================================================================== +--- kitchen.orig/kitchen2/tests/test_base64.py 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,190 +0,0 @@ -import unittest -from kitchen.pycompat24.base64 import _base64 as base64 @@ -414,10 +409,10 @@ -# -#if __name__ == '__main__': -# test_main() -diff --git a/kitchen2/tests/test_collections.py b/kitchen2/tests/test_collections.py -index 5e4dbd4..8765594 100644 ---- a/kitchen2/tests/test_collections.py -+++ b/kitchen2/tests/test_collections.py +Index: kitchen/kitchen2/tests/test_collections.py +=================================================================== +--- kitchen.orig/kitchen2/tests/test_collections.py 2017-08-28 00:47:21.493143026 -0400 ++++ kitchen/kitchen2/tests/test_collections.py 2017-08-28 00:47:21.485143105 -0400 @@ -3,9 +3,6 @@ import unittest from nose import tools @@ -428,11 +423,10 @@ from kitchen import collections def test_strict_dict_get_set(): -diff --git a/kitchen2/tests/test_defaultdict.py b/kitchen2/tests/test_defaultdict.py -deleted file mode 100644 -index 5848d28..0000000 ---- a/kitchen2/tests/test_defaultdict.py -+++ /dev/null +Index: kitchen/kitchen2/tests/test_defaultdict.py +=================================================================== +--- kitchen.orig/kitchen2/tests/test_defaultdict.py 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,180 +0,0 @@ -"""Unit tests for collections.defaultdict.""" - @@ -614,11 +608,10 @@ -# -#if __name__ == "__main__": -# test_main() -diff --git a/kitchen2/tests/test_pycompat.py b/kitchen2/tests/test_pycompat.py -deleted file mode 100644 -index 50a059b..0000000 ---- a/kitchen2/tests/test_pycompat.py -+++ /dev/null +Index: kitchen/kitchen2/tests/test_pycompat.py +=================================================================== +--- kitchen.orig/kitchen2/tests/test_pycompat.py 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# @@ -645,11 +638,10 @@ - from kitchen.pycompat24.base64 import b64encode - except ImportError: - tools.ok_(False, 'Unable to import pycompat24.base64 as a module') -diff --git a/kitchen2/tests/test_pycompat24.py b/kitchen2/tests/test_pycompat24.py -deleted file mode 100644 -index adea7fe..0000000 ---- a/kitchen2/tests/test_pycompat24.py -+++ /dev/null +Index: kitchen/kitchen2/tests/test_pycompat24.py +=================================================================== +--- kitchen.orig/kitchen2/tests/test_pycompat24.py 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,109 +0,0 @@ -# -*- coding: utf-8 -*- -# @@ -760,11 +752,291 @@ - raise SkipTest('Python-2.3 doesn\'t have b64encode to compare against') - tools.ok_(base64.b64encode(self.b_byte_chars) == py_b64.b64encode(self.b_byte_chars)) - tools.ok_(base64.b64decode(self.b_byte_chars) == py_b64.b64decode(self.b_byte_chars)) -diff --git a/kitchen2/tests/test_subprocess.py b/kitchen2/tests/test_subprocess.py -deleted file mode 100644 -index 010f660..0000000 ---- a/kitchen2/tests/test_subprocess.py -+++ /dev/null +Index: kitchen/kitchen3/docs/api-overview.rst +=================================================================== +--- kitchen.orig/kitchen3/docs/api-overview.rst 2017-08-28 00:47:21.493143026 -0400 ++++ kitchen/kitchen3/docs/api-overview.rst 2017-08-28 00:47:21.489143066 -0400 +@@ -16,9 +16,6 @@ + api-collections + api-iterutils + api-versioning +- api-pycompat24 +- api-pycompat25 +- api-pycompat27 + api-exceptions + + .. _`project webpage`: https://fedorahosted.org/kitchen +Index: kitchen/kitchen3/docs/api-pycompat24.rst +=================================================================== +--- kitchen.orig/kitchen3/docs/api-pycompat24.rst 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,34 +0,0 @@ +-======================= +-Python 2.4 Compatibiity +-======================= +- +- +-------------------- +-Sets for python-2.3 +-------------------- +- +-.. automodule:: kitchen.pycompat24.sets +-.. autofunction:: kitchen.pycompat24.sets.add_builtin_set +- +----------------------------------- +-Partial new style base64 interface +----------------------------------- +- +-.. automodule:: kitchen.pycompat24.base64 +- :members: +- +----------- +-Subprocess +----------- +- +-.. seealso:: +- +- :mod:`kitchen.pycompat27.subprocess` +- Kitchen includes the python-2.7 version of subprocess which has a new +- function, :func:`~kitchen.pycompat27.subprocess.check_output`. When +- you import :mod:`pycompat24.subprocess` you will be getting the +- python-2.7 version of subprocess rather than the 2.4 version (where +- subprocess first appeared). This choice was made so that we can +- concentrate our efforts on keeping the single version of subprocess up +- to date rather than working on a 2.4 version that very few people +- would need specifically. +Index: kitchen/kitchen3/docs/api-pycompat25.rst +=================================================================== +--- kitchen.orig/kitchen3/docs/api-pycompat25.rst 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,8 +0,0 @@ +-======================== +-Python 2.5 Compatibility +-======================== +- +-.. automodule:: kitchen.pycompat25 +- +-.. automodule:: kitchen.pycompat25.collections.defaultdict +- +Index: kitchen/kitchen3/docs/api-pycompat27.rst +=================================================================== +--- kitchen.orig/kitchen3/docs/api-pycompat27.rst 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,35 +0,0 @@ +-======================== +-Python 2.7 Compatibility +-======================== +- +-.. module:: kitchen.pycompat27.subprocess +- +--------------------------- +-Subprocess from Python 2.7 +--------------------------- +- +-The :mod:`subprocess` module included here is a direct import from +-python-2.7's |stdlib|_. You can access it via:: +- +- >>> from kitchen.pycompat27 import subprocess +- +-The motivation for including this module is that various API changing +-improvements have been made to subprocess over time. The following is a list +-of the known changes to :mod:`subprocess` with the python version they were +-introduced in: +- +-==================================== === +-New API Feature Ver +-==================================== === +-:exc:`subprocess.CalledProcessError` 2.5 +-:func:`subprocess.check_call` 2.5 +-:func:`subprocess.check_output` 2.7 +-:meth:`subprocess.Popen.send_signal` 2.6 +-:meth:`subprocess.Popen.terminate` 2.6 +-:meth:`subprocess.Popen.kill` 2.6 +-==================================== === +- +-.. seealso:: +- +- The stdlib :mod:`subprocess` documenation +- For complete documentation on how to use subprocess +Index: kitchen/kitchen3/tests/subprocessdata/sigchild_ignore.py +=================================================================== +--- kitchen.orig/kitchen3/tests/subprocessdata/sigchild_ignore.py 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,11 +0,0 @@ +-import os +-import signal, sys +-sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..')) +- +-from kitchen.pycompat27.subprocess import _subprocess as subprocess +- +-# On Linux this causes os.waitpid to fail with OSError as the OS has already +-# reaped our child process. The wait() passing the OSError on to the caller +-# and causing us to exit with an error is what we are testing against. +-signal.signal(signal.SIGCHLD, signal.SIG_IGN) +-subprocess.Popen([sys.executable, '-c', 'print("albatross")']).wait() +Index: kitchen/kitchen3/tests/test__all__.py +=================================================================== +--- kitchen.orig/kitchen3/tests/test__all__.py 2017-08-28 00:47:21.493143026 -0400 ++++ kitchen/kitchen3/tests/test__all__.py 2017-08-28 00:47:21.489143066 -0400 +@@ -4,8 +4,6 @@ + import os + import types + import warnings +-from kitchen.pycompat24.sets import add_builtin_set +-add_builtin_set() + + def logit(msg): + log = open('/var/tmp/test.log', 'a') +Index: kitchen/kitchen3/tests/test_collections.py +=================================================================== +--- kitchen.orig/kitchen3/tests/test_collections.py 2017-08-28 00:47:21.493143026 -0400 ++++ kitchen/kitchen3/tests/test_collections.py 2017-08-28 00:47:21.489143066 -0400 +@@ -3,9 +3,6 @@ + import unittest + from nose import tools + +-from kitchen.pycompat24.sets import add_builtin_set +-add_builtin_set() +- + from kitchen import collections + + def test_strict_dict_get_set(): +Index: kitchen/kitchen3/tests/test_deprecation_py3.py +=================================================================== +--- kitchen.orig/kitchen3/tests/test_deprecation_py3.py 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,65 +0,0 @@ +-# -*- coding: utf-8 -*- +- +-from nose import tools +- +-import sys +-import warnings +- +-import importlib +-from kitchen.pycompat25.collections import defaultdict +- +-class TestPendingDeprecationModules(object): +- def __init__(self): +- kitchen_path = 'kitchen' +- collections_path = 'kitchen/collections' +- pycompat24_path = 'kitchen/pycompat24' +- pycompat25_path = 'kitchen/pycompat25' +- pycompat27_path = 'kitchen/pycompat27' +- +- self.module_data = ( +- ('strictdict', 'kitchen.collections.strictdict', collections_path), +- ('pycompat24', 'kitchen.pycompat24', kitchen_path), +- ('base64', 'kitchen.pycompat24.base64', pycompat24_path), +- ('sets', 'kitchen.pycompat24.sets', pycompat24_path), +- ('subprocess', 'kitchen.pycompat24.subprocess', pycompat24_path), +- ('pycompat25', 'kitchen.pycompat25', kitchen_path), +- ('collections', 'kitchen.pycompat25.collections', pycompat25_path), +- ('pycompat27', 'kitchen.pycompat27', kitchen_path), +- ('subprocess', 'kitchen.pycompat27.subprocess', pycompat27_path), +- ) +- +- def setUp(self): +- for module in sys.modules.values(): +- if hasattr(module, '__warningregistry__'): +- del module.__warningregistry__ +- +- def check_modules(self, module_name, module_fqn, module_path): +- with warnings.catch_warnings(record=True) as w: +- warnings.simplefilter('always') +- # imp.load_module will load even if it has already been loaded. +- # We need to ensure that happens in order to trigger the +- # deprecation warnings +- importlib.find_loader(module_fqn, module_path).load_module() +- warning_raised = False +- for warning in (e.message for e in w): +- if isinstance(warning, PendingDeprecationWarning) and \ +- ('%s is deprecated' % module_name) in warning.args[0]: +- warning_raised = True +- break +- tools.assert_true(warning_raised, msg='%s did not raise a PendingDeprecationWarning' % module_fqn) +- +- def test_modules(self): +- for mod in self.module_data: +- yield self.check_modules, mod[0], mod[1], mod[2] +- +- def test_defaultdict(self): +- with warnings.catch_warnings(record=True) as w: +- warnings.simplefilter('always') +- defaultdict() +- warning_raised = False +- for warning in (e.message for e in w): +- if isinstance(warning, PendingDeprecationWarning) and \ +- ('defaultdict is deprecated') in warning.args[0]: +- warning_raised = True +- break +- tools.assert_true(warning_raised, msg='kitchen.pycompat25.collections.defaultdict did not raise a PendingDeprecationWarning') +Index: kitchen/kitchen3/tests/test_pycompat.py +=================================================================== +--- kitchen.orig/kitchen3/tests/test_pycompat.py 2017-08-28 00:47:21.493143026 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,25 +0,0 @@ +-# -*- coding: utf-8 -*- +-# +-import unittest +-from nose import tools +- +-class TestUsableModules(unittest.TestCase): +- def test_subprocess(self): +- '''Test that importing subprocess as a module works +- ''' +- try: +- from kitchen.pycompat24.subprocess import Popen +- except ImportError: +- tools.ok_(False, 'Unable to import pycompat24.subprocess as a module') +- try: +- from kitchen.pycompat27.subprocess import Popen +- except ImportError: +- tools.ok_(False, 'Unable to import pycompat27.subprocess as a module') +- +- def test_base64(self): +- '''Test that importing base64 as a module works +- ''' +- try: +- from kitchen.pycompat24.base64 import b64encode +- except ImportError: +- tools.ok_(False, 'Unable to import pycompat24.base64 as a module') +Index: kitchen/setup.py +=================================================================== +--- kitchen.orig/setup.py 2017-08-28 00:47:21.493143026 -0400 ++++ kitchen/setup.py 2017-08-28 00:47:21.489143066 -0400 +@@ -15,13 +15,6 @@ + 'kitchen.iterutils', + 'kitchen.collections', + 'kitchen.text', +- 'kitchen.pycompat24', +- 'kitchen.pycompat24.base64', +- 'kitchen.pycompat24.sets', +- 'kitchen.pycompat25', +- 'kitchen.pycompat25.collections', +- 'kitchen.pycompat27', +- 'kitchen.pycompat27.subprocess', + ] + elif sys.version_info[0] == 3: + source_dir = 'kitchen3' +@@ -32,13 +25,6 @@ + 'kitchen.iterutils', + 'kitchen.collections', + 'kitchen.text', +- 'kitchen.pycompat24', +- 'kitchen.pycompat24.base64', +- 'kitchen.pycompat24.sets', +- 'kitchen.pycompat25', +- 'kitchen.pycompat25.collections', +- 'kitchen.pycompat27', +- 'kitchen.pycompat27.subprocess', + ] + else: + raise NotImplementedError("Python version unsupported %r" % sys.version) +Index: kitchen/kitchen2/tests/test_subprocess.py +=================================================================== +--- kitchen.orig/kitchen2/tests/test_subprocess.py 2017-08-28 00:41:05.800909917 -0400 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,1467 +0,0 @@ -import unittest -from nose.plugins.skip import SkipTest @@ -983,7 +1255,7 @@ - else: - self.fail("Expected TypeError") - finally: -- setattr(sys,'stderr', orig_stderr) +- setattr(sys, 'stderr', orig_stderr) - self.assertEqual(s.getvalue(), '') - - def test_stdin_none(self): @@ -1498,7 +1770,7 @@ - ofhandle, ofname = mkstemp() - efhandle, efname = mkstemp() - try: -- subprocess.Popen (["*"], stdin=ifhandle, stdout=ofhandle, +- subprocess.Popen(["*"], stdin=ifhandle, stdout=ofhandle, - stderr=efhandle) - except OSError: - os.close(ifhandle) @@ -1624,7 +1896,7 @@ - try: - import resource - old_limit = resource.getrlimit(resource.RLIMIT_CORE) -- resource.setrlimit(resource.RLIMIT_CORE, (0,0)) +- resource.setrlimit(resource.RLIMIT_CORE, (0, 0)) - return old_limit - except (ImportError, ValueError, resource.error): - return None @@ -2180,7 +2452,7 @@ - - super(CommandsWithSpaces, self).setUp() - f, fname = mkstemp(".py", "te st") -- self.fname = fname.lower () +- self.fname = fname.lower() - os.write(f, "import sys;" - "sys.stdout.write('%d %s' % (len(sys.argv), [a.lower () for a in sys.argv]))" - ) @@ -2195,7 +2467,7 @@ - p = subprocess.Popen(*args, **kwargs) - self.addCleanup(p.stdout.close) - self.assertEqual( -- p.stdout.read ().decode("mbcs"), +- p.stdout.read().decode("mbcs"), - "2 [%r, 'ab cd']" % self.fname - ) - @@ -2233,290 +2505,3 @@ -# -#if __name__ == "__main__": -# test_main() -diff --git a/kitchen3/docs/api-overview.rst b/kitchen3/docs/api-overview.rst -index dda56fe..e53a94d 100644 ---- a/kitchen3/docs/api-overview.rst -+++ b/kitchen3/docs/api-overview.rst -@@ -16,9 +16,6 @@ that may drag in more dependencies can be found on the `project webpage`_ - api-collections - api-iterutils - api-versioning -- api-pycompat24 -- api-pycompat25 -- api-pycompat27 - api-exceptions - - .. _`project webpage`: https://fedorahosted.org/kitchen -diff --git a/kitchen3/docs/api-pycompat24.rst b/kitchen3/docs/api-pycompat24.rst -deleted file mode 100644 -index a3247b6..0000000 ---- a/kitchen3/docs/api-pycompat24.rst -+++ /dev/null -@@ -1,34 +0,0 @@ --======================= --Python 2.4 Compatibiity --======================= -- -- --------------------- --Sets for python-2.3 --------------------- -- --.. automodule:: kitchen.pycompat24.sets --.. autofunction:: kitchen.pycompat24.sets.add_builtin_set -- ------------------------------------ --Partial new style base64 interface ------------------------------------ -- --.. automodule:: kitchen.pycompat24.base64 -- :members: -- ------------ --Subprocess ------------ -- --.. seealso:: -- -- :mod:`kitchen.pycompat27.subprocess` -- Kitchen includes the python-2.7 version of subprocess which has a new -- function, :func:`~kitchen.pycompat27.subprocess.check_output`. When -- you import :mod:`pycompat24.subprocess` you will be getting the -- python-2.7 version of subprocess rather than the 2.4 version (where -- subprocess first appeared). This choice was made so that we can -- concentrate our efforts on keeping the single version of subprocess up -- to date rather than working on a 2.4 version that very few people -- would need specifically. -diff --git a/kitchen3/docs/api-pycompat25.rst b/kitchen3/docs/api-pycompat25.rst -deleted file mode 100644 -index 2323c2f..0000000 ---- a/kitchen3/docs/api-pycompat25.rst -+++ /dev/null -@@ -1,8 +0,0 @@ --======================== --Python 2.5 Compatibility --======================== -- --.. automodule:: kitchen.pycompat25 -- --.. automodule:: kitchen.pycompat25.collections.defaultdict -- -diff --git a/kitchen3/docs/api-pycompat27.rst b/kitchen3/docs/api-pycompat27.rst -deleted file mode 100644 -index 6ef6db1..0000000 ---- a/kitchen3/docs/api-pycompat27.rst -+++ /dev/null -@@ -1,35 +0,0 @@ --======================== --Python 2.7 Compatibility --======================== -- --.. module:: kitchen.pycompat27.subprocess -- ---------------------------- --Subprocess from Python 2.7 ---------------------------- -- --The :mod:`subprocess` module included here is a direct import from --python-2.7's |stdlib|_. You can access it via:: -- -- >>> from kitchen.pycompat27 import subprocess -- --The motivation for including this module is that various API changing --improvements have been made to subprocess over time. The following is a list --of the known changes to :mod:`subprocess` with the python version they were --introduced in: -- --==================================== === --New API Feature Ver --==================================== === --:exc:`subprocess.CalledProcessError` 2.5 --:func:`subprocess.check_call` 2.5 --:func:`subprocess.check_output` 2.7 --:meth:`subprocess.Popen.send_signal` 2.6 --:meth:`subprocess.Popen.terminate` 2.6 --:meth:`subprocess.Popen.kill` 2.6 --==================================== === -- --.. seealso:: -- -- The stdlib :mod:`subprocess` documenation -- For complete documentation on how to use subprocess -diff --git a/kitchen3/tests/subprocessdata/sigchild_ignore.py b/kitchen3/tests/subprocessdata/sigchild_ignore.py -deleted file mode 100644 -index 5b6dd08..0000000 ---- a/kitchen3/tests/subprocessdata/sigchild_ignore.py -+++ /dev/null -@@ -1,11 +0,0 @@ --import os --import signal, sys --sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..')) -- --from kitchen.pycompat27.subprocess import _subprocess as subprocess -- --# On Linux this causes os.waitpid to fail with OSError as the OS has already --# reaped our child process. The wait() passing the OSError on to the caller --# and causing us to exit with an error is what we are testing against. --signal.signal(signal.SIGCHLD, signal.SIG_IGN) --subprocess.Popen([sys.executable, '-c', 'print("albatross")']).wait() -diff --git a/kitchen3/tests/test__all__.py b/kitchen3/tests/test__all__.py -index d25cb3f..7ceef8b 100644 ---- a/kitchen3/tests/test__all__.py -+++ b/kitchen3/tests/test__all__.py -@@ -4,8 +4,6 @@ from nose import tools - import os - import types - import warnings --from kitchen.pycompat24.sets import add_builtin_set --add_builtin_set() - - def logit(msg): - log = open('/var/tmp/test.log', 'a') -diff --git a/kitchen3/tests/test_collections.py b/kitchen3/tests/test_collections.py -index e3da84b..12a6d04 100644 ---- a/kitchen3/tests/test_collections.py -+++ b/kitchen3/tests/test_collections.py -@@ -3,9 +3,6 @@ - import unittest - from nose import tools - --from kitchen.pycompat24.sets import add_builtin_set --add_builtin_set() -- - from kitchen import collections - - def test_strict_dict_get_set(): -diff --git a/kitchen3/tests/test_deprecation_py3.py b/kitchen3/tests/test_deprecation_py3.py -deleted file mode 100644 -index f03c0df..0000000 ---- a/kitchen3/tests/test_deprecation_py3.py -+++ /dev/null -@@ -1,65 +0,0 @@ --# -*- coding: utf-8 -*- -- --from nose import tools -- --import sys --import warnings -- --import importlib --from kitchen.pycompat25.collections import defaultdict -- --class TestPendingDeprecationModules(object): -- def __init__(self): -- kitchen_path = 'kitchen' -- collections_path = 'kitchen/collections' -- pycompat24_path = 'kitchen/pycompat24' -- pycompat25_path = 'kitchen/pycompat25' -- pycompat27_path = 'kitchen/pycompat27' -- -- self.module_data = ( -- ('strictdict', 'kitchen.collections.strictdict', collections_path), -- ('pycompat24', 'kitchen.pycompat24', kitchen_path), -- ('base64', 'kitchen.pycompat24.base64', pycompat24_path), -- ('sets', 'kitchen.pycompat24.sets', pycompat24_path), -- ('subprocess', 'kitchen.pycompat24.subprocess', pycompat24_path), -- ('pycompat25', 'kitchen.pycompat25', kitchen_path), -- ('collections', 'kitchen.pycompat25.collections', pycompat25_path), -- ('pycompat27', 'kitchen.pycompat27', kitchen_path), -- ('subprocess', 'kitchen.pycompat27.subprocess', pycompat27_path), -- ) -- -- def setUp(self): -- for module in sys.modules.values(): -- if hasattr(module, '__warningregistry__'): -- del module.__warningregistry__ -- -- def check_modules(self, module_name, module_fqn, module_path): -- with warnings.catch_warnings(record=True) as w: -- warnings.simplefilter('always') -- # imp.load_module will load even if it has already been loaded. -- # We need to ensure that happens in order to trigger the -- # deprecation warnings -- importlib.find_loader(module_fqn, module_path).load_module() -- warning_raised = False -- for warning in (e.message for e in w): -- if isinstance(warning, PendingDeprecationWarning) and \ -- ('%s is deprecated' % module_name) in warning.args[0]: -- warning_raised = True -- break -- tools.assert_true(warning_raised, msg='%s did not raise a PendingDeprecationWarning' % module_fqn) -- -- def test_modules(self): -- for mod in self.module_data: -- yield self.check_modules, mod[0], mod[1], mod[2] -- -- def test_defaultdict(self): -- with warnings.catch_warnings(record=True) as w: -- warnings.simplefilter('always') -- defaultdict() -- warning_raised = False -- for warning in (e.message for e in w): -- if isinstance(warning, PendingDeprecationWarning) and \ -- ('defaultdict is deprecated') in warning.args[0]: -- warning_raised = True -- break -- tools.assert_true(warning_raised, msg='kitchen.pycompat25.collections.defaultdict did not raise a PendingDeprecationWarning') -diff --git a/kitchen3/tests/test_pycompat.py b/kitchen3/tests/test_pycompat.py -deleted file mode 100644 -index 50a059b..0000000 ---- a/kitchen3/tests/test_pycompat.py -+++ /dev/null -@@ -1,25 +0,0 @@ --# -*- coding: utf-8 -*- --# --import unittest --from nose import tools -- --class TestUsableModules(unittest.TestCase): -- def test_subprocess(self): -- '''Test that importing subprocess as a module works -- ''' -- try: -- from kitchen.pycompat24.subprocess import Popen -- except ImportError: -- tools.ok_(False, 'Unable to import pycompat24.subprocess as a module') -- try: -- from kitchen.pycompat27.subprocess import Popen -- except ImportError: -- tools.ok_(False, 'Unable to import pycompat27.subprocess as a module') -- -- def test_base64(self): -- '''Test that importing base64 as a module works -- ''' -- try: -- from kitchen.pycompat24.base64 import b64encode -- except ImportError: -- tools.ok_(False, 'Unable to import pycompat24.base64 as a module') -diff --git a/setup.py b/setup.py -index 4813cae..e1a5c48 100755 ---- a/setup.py -+++ b/setup.py -@@ -15,13 +15,6 @@ if sys.version_info[0] == 2: - 'kitchen.iterutils', - 'kitchen.collections', - 'kitchen.text', -- 'kitchen.pycompat24', -- 'kitchen.pycompat24.base64', -- 'kitchen.pycompat24.sets', -- 'kitchen.pycompat25', -- 'kitchen.pycompat25.collections', -- 'kitchen.pycompat27', -- 'kitchen.pycompat27.subprocess', - ] - elif sys.version_info[0] == 3: - source_dir = 'kitchen3' -@@ -32,13 +25,6 @@ elif sys.version_info[0] == 3: - 'kitchen.iterutils', - 'kitchen.collections', - 'kitchen.text', -- 'kitchen.pycompat24', -- 'kitchen.pycompat24.base64', -- 'kitchen.pycompat24.sets', -- 'kitchen.pycompat25', -- 'kitchen.pycompat25.collections', -- 'kitchen.pycompat27', -- 'kitchen.pycompat27.subprocess', - ] - else: - raise NotImplementedError("Python version unsupported %r" % sys.version) diff -Nru kitchen-1.2.4/debian/patches/series kitchen-1.2.5/debian/patches/series --- kitchen-1.2.4/debian/patches/series 2017-08-20 23:19:45.000000000 +0000 +++ kitchen-1.2.5/debian/patches/series 2017-08-28 04:49:05.000000000 +0000 @@ -1,4 +1,3 @@ fix_typos remove_compat_layers explicit_Exception_catching -update-combined-table-display-py3.patch diff -Nru kitchen-1.2.4/debian/patches/update-combined-table-display-py3.patch kitchen-1.2.5/debian/patches/update-combined-table-display-py3.patch --- kitchen-1.2.4/debian/patches/update-combined-table-display-py3.patch 2017-08-20 23:19:45.000000000 +0000 +++ kitchen-1.2.5/debian/patches/update-combined-table-display-py3.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,165 +0,0 @@ -From 8c8678eedc30d87e167a8b620f9a1cb13651ee85 Mon Sep 17 00:00:00 2001 -From: Sergio Durigan Junior -Date: Sat, 9 Jul 2016 19:05:10 -0400 -Subject: Update COMBINED table on kitchen3/kitchen/text/display.py - -Patch-Name: update-combined-table-display-py3.patch ---- - kitchen3/kitchen/text/display.py | 137 ++++++++++++++++++++------------------- - 1 file changed, 72 insertions(+), 65 deletions(-) - -diff --git a/kitchen3/kitchen/text/display.py b/kitchen3/kitchen/text/display.py -index 22aa642..56c0f37 100644 ---- a/kitchen3/kitchen/text/display.py -+++ b/kitchen3/kitchen/text/display.py -@@ -111,69 +111,76 @@ def _interval_bisearch(value, table): - return False - - _COMBINING = ( -- (0x300, 0x36f), (0x483, 0x489), (0x591, 0x5bd), -- (0x5bf, 0x5bf), (0x5c1, 0x5c2), (0x5c4, 0x5c5), -- (0x5c7, 0x5c7), (0x600, 0x603), (0x610, 0x61a), -- (0x64b, 0x65f), (0x670, 0x670), (0x6d6, 0x6e4), -- (0x6e7, 0x6e8), (0x6ea, 0x6ed), (0x70f, 0x70f), -- (0x711, 0x711), (0x730, 0x74a), (0x7a6, 0x7b0), -- (0x7eb, 0x7f3), (0x816, 0x819), (0x81b, 0x823), -- (0x825, 0x827), (0x829, 0x82d), (0x859, 0x85b), -- (0x8e4, 0x8fe), (0x901, 0x902), (0x93c, 0x93c), -- (0x941, 0x948), (0x94d, 0x94d), (0x951, 0x954), -- (0x962, 0x963), (0x981, 0x981), (0x9bc, 0x9bc), -- (0x9c1, 0x9c4), (0x9cd, 0x9cd), (0x9e2, 0x9e3), -- (0xa01, 0xa02), (0xa3c, 0xa3c), (0xa41, 0xa42), -- (0xa47, 0xa48), (0xa4b, 0xa4d), (0xa70, 0xa71), -- (0xa81, 0xa82), (0xabc, 0xabc), (0xac1, 0xac5), -- (0xac7, 0xac8), (0xacd, 0xacd), (0xae2, 0xae3), -- (0xb01, 0xb01), (0xb3c, 0xb3c), (0xb3f, 0xb3f), -- (0xb41, 0xb43), (0xb4d, 0xb4d), (0xb56, 0xb56), -- (0xb82, 0xb82), (0xbc0, 0xbc0), (0xbcd, 0xbcd), -- (0xc3e, 0xc40), (0xc46, 0xc48), (0xc4a, 0xc4d), -- (0xc55, 0xc56), (0xcbc, 0xcbc), (0xcbf, 0xcbf), -- (0xcc6, 0xcc6), (0xccc, 0xccd), (0xce2, 0xce3), -- (0xd41, 0xd43), (0xd4d, 0xd4d), (0xdca, 0xdca), -- (0xdd2, 0xdd4), (0xdd6, 0xdd6), (0xe31, 0xe31), -- (0xe34, 0xe3a), (0xe47, 0xe4e), (0xeb1, 0xeb1), -- (0xeb4, 0xeb9), (0xebb, 0xebc), (0xec8, 0xecd), -- (0xf18, 0xf19), (0xf35, 0xf35), (0xf37, 0xf37), -- (0xf39, 0xf39), (0xf71, 0xf7e), (0xf80, 0xf84), -- (0xf86, 0xf87), (0xf90, 0xf97), (0xf99, 0xfbc), -- (0xfc6, 0xfc6), (0x102d, 0x1030), (0x1032, 0x1032), -- (0x1036, 0x1037), (0x1039, 0x103a), (0x1058, 0x1059), -- (0x108d, 0x108d), (0x1160, 0x11ff), (0x135d, 0x135f), -- (0x1712, 0x1714), (0x1732, 0x1734), (0x1752, 0x1753), -- (0x1772, 0x1773), (0x17b4, 0x17b5), (0x17b7, 0x17bd), -- (0x17c6, 0x17c6), (0x17c9, 0x17d3), (0x17dd, 0x17dd), -- (0x180b, 0x180d), (0x18a9, 0x18a9), (0x1920, 0x1922), -- (0x1927, 0x1928), (0x1932, 0x1932), (0x1939, 0x193b), -- (0x1a17, 0x1a18), (0x1a60, 0x1a60), (0x1a75, 0x1a7c), -- (0x1a7f, 0x1a7f), (0x1b00, 0x1b03), (0x1b34, 0x1b34), -- (0x1b36, 0x1b3a), (0x1b3c, 0x1b3c), (0x1b42, 0x1b42), -- (0x1b44, 0x1b44), (0x1b6b, 0x1b73), (0x1baa, 0x1bab), -- (0x1be6, 0x1be6), (0x1bf2, 0x1bf3), (0x1c37, 0x1c37), -- (0x1cd0, 0x1cd2), (0x1cd4, 0x1ce0), (0x1ce2, 0x1ce8), -- (0x1ced, 0x1ced), (0x1cf4, 0x1cf4), (0x1dc0, 0x1de6), -- (0x1dfc, 0x1dff), (0x200b, 0x200f), (0x202a, 0x202e), -- (0x2060, 0x2063), (0x206a, 0x206f), (0x20d0, 0x20f0), -- (0x2cef, 0x2cf1), (0x2d7f, 0x2d7f), (0x2de0, 0x2dff), -- (0x302a, 0x302f), (0x3099, 0x309a), (0xa66f, 0xa66f), -- (0xa674, 0xa67d), (0xa69f, 0xa69f), (0xa6f0, 0xa6f1), -- (0xa806, 0xa806), (0xa80b, 0xa80b), (0xa825, 0xa826), -- (0xa8c4, 0xa8c4), (0xa8e0, 0xa8f1), (0xa92b, 0xa92d), -- (0xa953, 0xa953), (0xa9b3, 0xa9b3), (0xa9c0, 0xa9c0), -- (0xaab0, 0xaab0), (0xaab2, 0xaab4), (0xaab7, 0xaab8), -- (0xaabe, 0xaabf), (0xaac1, 0xaac1), (0xaaf6, 0xaaf6), -- (0xabed, 0xabed), (0xfb1e, 0xfb1e), (0xfe00, 0xfe0f), -- (0xfe20, 0xfe26), (0xfeff, 0xfeff), (0xfff9, 0xfffb), -- (0x101fd, 0x101fd), (0x10a01, 0x10a03), (0x10a05, 0x10a06), -- (0x10a0c, 0x10a0f), (0x10a38, 0x10a3a), (0x10a3f, 0x10a3f), -- (0x11046, 0x11046), (0x110b9, 0x110ba), (0x11100, 0x11102), -- (0x11133, 0x11134), (0x111c0, 0x111c0), (0x116b6, 0x116b7), -- (0x1d165, 0x1d169), (0x1d16d, 0x1d182), (0x1d185, 0x1d18b), -- (0x1d1aa, 0x1d1ad), (0x1d242, 0x1d244), (0xe0001, 0xe0001), -- (0xe0020, 0xe007f), (0xe0100, 0xe01ef), ) -+ (0x300, 0x36f), (0x483, 0x489), (0x591, 0x5bd), -+ (0x5bf, 0x5bf), (0x5c1, 0x5c2), (0x5c4, 0x5c5), -+ (0x5c7, 0x5c7), (0x600, 0x603), (0x610, 0x61a), -+ (0x64b, 0x65f), (0x670, 0x670), (0x6d6, 0x6e4), -+ (0x6e7, 0x6e8), (0x6ea, 0x6ed), (0x70f, 0x70f), -+ (0x711, 0x711), (0x730, 0x74a), (0x7a6, 0x7b0), -+ (0x7eb, 0x7f3), (0x816, 0x819), (0x81b, 0x823), -+ (0x825, 0x827), (0x829, 0x82d), (0x859, 0x85b), -+ (0x8e3, 0x8ff), (0x901, 0x902), (0x93c, 0x93c), -+ (0x941, 0x948), (0x94d, 0x94d), (0x951, 0x954), -+ (0x962, 0x963), (0x981, 0x981), (0x9bc, 0x9bc), -+ (0x9c1, 0x9c4), (0x9cd, 0x9cd), (0x9e2, 0x9e3), -+ (0xa01, 0xa02), (0xa3c, 0xa3c), (0xa41, 0xa42), -+ (0xa47, 0xa48), (0xa4b, 0xa4d), (0xa70, 0xa71), -+ (0xa81, 0xa82), (0xabc, 0xabc), (0xac1, 0xac5), -+ (0xac7, 0xac8), (0xacd, 0xacd), (0xae2, 0xae3), -+ (0xb01, 0xb01), (0xb3c, 0xb3c), (0xb3f, 0xb3f), -+ (0xb41, 0xb43), (0xb4d, 0xb4d), (0xb56, 0xb56), -+ (0xb82, 0xb82), (0xbc0, 0xbc0), (0xbcd, 0xbcd), -+ (0xc3e, 0xc40), (0xc46, 0xc48), (0xc4a, 0xc4d), -+ (0xc55, 0xc56), (0xcbc, 0xcbc), (0xcbf, 0xcbf), -+ (0xcc6, 0xcc6), (0xccc, 0xccd), (0xce2, 0xce3), -+ (0xd41, 0xd43), (0xd4d, 0xd4d), (0xdca, 0xdca), -+ (0xdd2, 0xdd4), (0xdd6, 0xdd6), (0xe31, 0xe31), -+ (0xe34, 0xe3a), (0xe47, 0xe4e), (0xeb1, 0xeb1), -+ (0xeb4, 0xeb9), (0xebb, 0xebc), (0xec8, 0xecd), -+ (0xf18, 0xf19), (0xf35, 0xf35), (0xf37, 0xf37), -+ (0xf39, 0xf39), (0xf71, 0xf7e), (0xf80, 0xf84), -+ (0xf86, 0xf87), (0xf90, 0xf97), (0xf99, 0xfbc), -+ (0xfc6, 0xfc6), (0x102d, 0x1030), (0x1032, 0x1032), -+ (0x1036, 0x1037), (0x1039, 0x103a), (0x1058, 0x1059), -+ (0x108d, 0x108d), (0x1160, 0x11ff), (0x135d, 0x135f), -+ (0x1712, 0x1714), (0x1732, 0x1734), (0x1752, 0x1753), -+ (0x1772, 0x1773), (0x17b4, 0x17b5), (0x17b7, 0x17bd), -+ (0x17c6, 0x17c6), (0x17c9, 0x17d3), (0x17dd, 0x17dd), -+ (0x180b, 0x180d), (0x18a9, 0x18a9), (0x1920, 0x1922), -+ (0x1927, 0x1928), (0x1932, 0x1932), (0x1939, 0x193b), -+ (0x1a17, 0x1a18), (0x1a60, 0x1a60), (0x1a75, 0x1a7c), -+ (0x1a7f, 0x1a7f), (0x1ab0, 0x1abd), (0x1b00, 0x1b03), -+ (0x1b34, 0x1b34), (0x1b36, 0x1b3a), (0x1b3c, 0x1b3c), -+ (0x1b42, 0x1b42), (0x1b44, 0x1b44), (0x1b6b, 0x1b73), -+ (0x1baa, 0x1bab), (0x1be6, 0x1be6), (0x1bf2, 0x1bf3), -+ (0x1c37, 0x1c37), (0x1cd0, 0x1cd2), (0x1cd4, 0x1ce0), -+ (0x1ce2, 0x1ce8), (0x1ced, 0x1ced), (0x1cf4, 0x1cf4), -+ (0x1cf8, 0x1cf9), (0x1dc0, 0x1df5), (0x1dfc, 0x1dff), -+ (0x200b, 0x200f), (0x202a, 0x202e), (0x2060, 0x2063), -+ (0x206a, 0x206f), (0x20d0, 0x20f0), (0x2cef, 0x2cf1), -+ (0x2d7f, 0x2d7f), (0x2de0, 0x2dff), (0x302a, 0x302f), -+ (0x3099, 0x309a), (0xa66f, 0xa66f), (0xa674, 0xa67d), -+ (0xa69e, 0xa69f), (0xa6f0, 0xa6f1), (0xa806, 0xa806), -+ (0xa80b, 0xa80b), (0xa825, 0xa826), (0xa8c4, 0xa8c4), -+ (0xa8e0, 0xa8f1), (0xa92b, 0xa92d), (0xa953, 0xa953), -+ (0xa9b3, 0xa9b3), (0xa9c0, 0xa9c0), (0xaab0, 0xaab0), -+ (0xaab2, 0xaab4), (0xaab7, 0xaab8), (0xaabe, 0xaabf), -+ (0xaac1, 0xaac1), (0xaaf6, 0xaaf6), (0xabed, 0xabed), -+ (0xfb1e, 0xfb1e), (0xfe00, 0xfe0f), (0xfe20, 0xfe2f), -+ (0xfeff, 0xfeff), (0xfff9, 0xfffb), (0x101fd, 0x101fd), -+ (0x102e0, 0x102e0), (0x10376, 0x1037a), (0x10a01, 0x10a03), -+ (0x10a05, 0x10a06), (0x10a0c, 0x10a0f), (0x10a38, 0x10a3a), -+ (0x10a3f, 0x10a3f), (0x10ae5, 0x10ae6), (0x11046, 0x11046), -+ (0x1107f, 0x1107f), (0x110b9, 0x110ba), (0x11100, 0x11102), -+ (0x11133, 0x11134), (0x11173, 0x11173), (0x111c0, 0x111c0), -+ (0x111ca, 0x111ca), (0x11235, 0x11236), (0x112e9, 0x112ea), -+ (0x1133c, 0x1133c), (0x1134d, 0x1134d), (0x11366, 0x1136c), -+ (0x11370, 0x11374), (0x114c2, 0x114c3), (0x115bf, 0x115c0), -+ (0x1163f, 0x1163f), (0x116b6, 0x116b7), (0x1172b, 0x1172b), -+ (0x16af0, 0x16af4), (0x16b30, 0x16b36), (0x1bc9e, 0x1bc9e), -+ (0x1d165, 0x1d169), (0x1d16d, 0x1d182), (0x1d185, 0x1d18b), -+ (0x1d1aa, 0x1d1ad), (0x1d242, 0x1d244), (0x1e8d0, 0x1e8d6), -+ (0xe0001, 0xe0001), (0xe0020, 0xe007f), (0xe0100, 0xe01ef), ) - ''' - Internal table, provided by this module to list :term:`code points` which - combine with other characters and therefore should have no :term:`textual -@@ -187,8 +194,8 @@ a combining character. - :func:`~kitchen.text.display._generate_combining_table` - for how this table is generated - --This table was last regenerated on python-3.2.3 with --:data:`unicodedata.unidata_version` 6.0.0 -+This table was last regenerated on python-3.5 with -+:data:`unicodedata.unidata_version` 8.0.0 - ''' - # New function from Toshio Kuratomi (LGPLv2+) - def _generate_combining_table(): diff -Nru kitchen-1.2.4/kitchen2/kitchen/exceptions.py kitchen-1.2.5/kitchen2/kitchen/exceptions.py --- kitchen-1.2.4/kitchen2/kitchen/exceptions.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/exceptions.py 2017-08-23 22:33:07.000000000 +0000 @@ -6,12 +6,12 @@ # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # diff -Nru kitchen-1.2.4/kitchen2/kitchen/i18n/__init__.py kitchen-1.2.5/kitchen2/kitchen/i18n/__init__.py --- kitchen-1.2.4/kitchen2/kitchen/i18n/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/i18n/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -8,12 +8,12 @@ # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # @@ -444,7 +444,7 @@ 2) :class:`gettext.GNUTranslations` can return byte :class:`str` from :meth:`gettext.GNUTranslations.ugettext` and :class:`unicode` strings from the other :meth:`~gettext.GNUTranslations.gettext` - methods if the message being translated is the wrong type + methods if the message being translated is the wrong type When byte :class:`str` are returned, the strings will be encoded according to this algorithm: @@ -854,7 +854,7 @@ for plurals Setting up :mod:`gettext` can be a little tricky because of lack of - documentation. This function will setup :mod:`gettext` using the + documentation. This function will setup :mod:`gettext` using the `Class-based API `_ for you. For the simple case, you can use the default arguments and call it like diff -Nru kitchen-1.2.4/kitchen2/kitchen/__init__.py kitchen-1.2.5/kitchen2/kitchen/__init__.py --- kitchen-1.2.4/kitchen2/kitchen/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -35,7 +35,7 @@ (b_, bN_) = i18n.easy_gettext_setup('kitchen.core', use_unicode=False) #pylint: enable-msg=C0103 -__version_info__ = ((1, 2, 4),) +__version_info__ = ((1, 2, 5),) __version__ = versioning.version_tuple_to_string(__version_info__) __all__ = ('exceptions', 'release',) diff -Nru kitchen-1.2.4/kitchen2/kitchen/pycompat24/base64/_base64.py kitchen-1.2.5/kitchen2/kitchen/pycompat24/base64/_base64.py --- kitchen-1.2.4/kitchen2/kitchen/pycompat24/base64/_base64.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/pycompat24/base64/_base64.py 2017-08-23 22:33:07.000000000 +0000 @@ -311,7 +311,7 @@ """Encode a string into multiple lines of base-64 data.""" pieces = [] for i in range(0, len(s), MAXBINSIZE): - chunk = s[i : i + MAXBINSIZE] + chunk = s[i: i + MAXBINSIZE] pieces.append(binascii.b2a_base64(chunk)) return "".join(pieces) diff -Nru kitchen-1.2.4/kitchen2/kitchen/pycompat24/base64/__init__.py kitchen-1.2.5/kitchen2/kitchen/pycompat24/base64/__init__.py --- kitchen-1.2.4/kitchen2/kitchen/pycompat24/base64/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/pycompat24/base64/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -3,17 +3,17 @@ # Copyright (c) 2010 Red Hat, Inc # # This file is part of kitchen -# +# # kitchen is free software; you can redistribute it and/or modify it under the # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # @@ -40,7 +40,7 @@ else: from kitchen.pycompat24.base64._base64 import * -__all__ = ( 'b16decode', 'b16encode', 'b32decode', 'b32encode', 'b64decode', +__all__ = ('b16decode', 'b16encode', 'b32decode', 'b32encode', 'b64decode', 'b64encode', 'decode', 'decodestring', 'encode', 'encodestring', 'standard_b64decode', 'standard_b64encode', 'urlsafe_b64decode', 'urlsafe_b64encode',) diff -Nru kitchen-1.2.4/kitchen2/kitchen/pycompat24/sets/__init__.py kitchen-1.2.5/kitchen2/kitchen/pycompat24/sets/__init__.py --- kitchen-1.2.4/kitchen2/kitchen/pycompat24/sets/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/pycompat24/sets/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -3,17 +3,17 @@ # Copyright (c) 2010 Red Hat, Inc # # This file is part of kitchen -# +# # kitchen is free software; you can redistribute it and/or modify it under the # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # diff -Nru kitchen-1.2.4/kitchen2/kitchen/pycompat25/collections/_defaultdict.py kitchen-1.2.5/kitchen2/kitchen/pycompat25/collections/_defaultdict.py --- kitchen-1.2.4/kitchen2/kitchen/pycompat25/collections/_defaultdict.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/pycompat25/collections/_defaultdict.py 2017-08-23 22:33:07.000000000 +0000 @@ -10,15 +10,15 @@ # (Toshio Kuratomi) # # Copyright (c) 2007 Justin Kirtland -# +# # PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 # -------------------------------------------- -# +# # 1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), # and the Individual or Organization ("Licensee") accessing and otherwise # using this software ("Python") in source or binary form and its # associated documentation. -# +# # 2. Subject to the terms and conditions of this License Agreement, PSF hereby # grants Licensee a nonexclusive, royalty-free, world-wide license to # reproduce, analyze, test, perform and/or display publicly, prepare @@ -27,34 +27,34 @@ # PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, # 2005, 2006 Python Software Foundation; All Rights Reserved" are retained # in Python alone or in any derivative version prepared by Licensee. -# +# # 3. In the event Licensee prepares a derivative work that is based on or # incorporates Python or any part thereof, and wants to make the derivative # work available to others as provided herein, then Licensee hereby agrees # to include in any such work a brief summary of the changes made to # Python. -# +# # 4. PSF is making Python available to Licensee on an "AS IS" basis. PSF # MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF # EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY # REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY # PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD # PARTY RIGHTS. -# +# # 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY # INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF # MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE # THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. -# +# # 6. This License Agreement will automatically terminate upon a material # breach of its terms and conditions. -# +# # 7. Nothing in this License Agreement shall be deemed to create any # relationship of agency, partnership, or joint venture between PSF and # Licensee. This License Agreement does not grant permission to use PSF # trademarks or trade name in a trademark sense to endorse or promote # products or services of Licensee, or any third party. -# +# # 8. By copying, installing or otherwise using Python, Licensee agrees to be # bound by the terms and conditions of this License Agreement. diff -Nru kitchen-1.2.4/kitchen2/kitchen/pycompat27/subprocess/__init__.py kitchen-1.2.5/kitchen2/kitchen/pycompat27/subprocess/__init__.py --- kitchen-1.2.4/kitchen2/kitchen/pycompat27/subprocess/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/pycompat27/subprocess/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -3,17 +3,17 @@ # Copyright (c) 2011 Red Hat, Inc # # This file is part of kitchen -# +# # kitchen is free software; you can redistribute it and/or modify it under the # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # diff -Nru kitchen-1.2.4/kitchen2/kitchen/pycompat27/subprocess/_subprocess.py kitchen-1.2.5/kitchen2/kitchen/pycompat27/subprocess/_subprocess.py --- kitchen-1.2.4/kitchen2/kitchen/pycompat27/subprocess/_subprocess.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/pycompat27/subprocess/_subprocess.py 2017-08-23 22:33:07.000000000 +0000 @@ -1187,7 +1187,7 @@ # Close pipe fds. Make sure we don't close the # same fd more than once, or standard fds. - closed = set( (None,) ) + closed = set((None,)) for fd in [p2cread, c2pwrite, errwrite]: if fd not in closed and fd > 2: os.close(fd) @@ -1377,7 +1377,7 @@ for fd, mode in ready: if mode & select.POLLOUT: - chunk = input[input_offset : input_offset + _PIPE_BUF] + chunk = input[input_offset: input_offset + _PIPE_BUF] try: input_offset += os.write(fd, chunk) except OSError, e: @@ -1425,7 +1425,7 @@ raise if self.stdin in wlist: - chunk = input[input_offset : input_offset + _PIPE_BUF] + chunk = input[input_offset: input_offset + _PIPE_BUF] try: bytes_written = os.write(self.stdin.fileno(), chunk) except OSError, e: diff -Nru kitchen-1.2.4/kitchen2/kitchen/text/converters.py kitchen-1.2.5/kitchen2/kitchen/text/converters.py --- kitchen-1.2.4/kitchen2/kitchen/text/converters.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/text/converters.py 2017-08-23 22:33:07.000000000 +0000 @@ -693,7 +693,7 @@ # Escape characters that have special meaning in xml if attrib: - string = xml.sax.saxutils.escape(string, entities={'"':"""}) + string = xml.sax.saxutils.escape(string, entities={'"': """}) else: string = xml.sax.saxutils.escape(string) diff -Nru kitchen-1.2.4/kitchen2/kitchen/text/display.py kitchen-1.2.5/kitchen2/kitchen/text/display.py --- kitchen-1.2.4/kitchen2/kitchen/text/display.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/text/display.py 2017-08-23 22:33:07.000000000 +0000 @@ -119,58 +119,72 @@ (0x711, 0x711), (0x730, 0x74a), (0x7a6, 0x7b0), (0x7eb, 0x7f3), (0x816, 0x819), (0x81b, 0x823), (0x825, 0x827), (0x829, 0x82d), (0x859, 0x85b), - (0x901, 0x902), (0x93c, 0x93c), (0x941, 0x948), - (0x94d, 0x94d), (0x951, 0x954), (0x962, 0x963), - (0x981, 0x981), (0x9bc, 0x9bc), (0x9c1, 0x9c4), - (0x9cd, 0x9cd), (0x9e2, 0x9e3), (0xa01, 0xa02), - (0xa3c, 0xa3c), (0xa41, 0xa42), (0xa47, 0xa48), - (0xa4b, 0xa4d), (0xa70, 0xa71), (0xa81, 0xa82), - (0xabc, 0xabc), (0xac1, 0xac5), (0xac7, 0xac8), - (0xacd, 0xacd), (0xae2, 0xae3), (0xb01, 0xb01), - (0xb3c, 0xb3c), (0xb3f, 0xb3f), (0xb41, 0xb43), - (0xb4d, 0xb4d), (0xb56, 0xb56), (0xb82, 0xb82), - (0xbc0, 0xbc0), (0xbcd, 0xbcd), (0xc3e, 0xc40), - (0xc46, 0xc48), (0xc4a, 0xc4d), (0xc55, 0xc56), - (0xcbc, 0xcbc), (0xcbf, 0xcbf), (0xcc6, 0xcc6), - (0xccc, 0xccd), (0xce2, 0xce3), (0xd41, 0xd43), - (0xd4d, 0xd4d), (0xdca, 0xdca), (0xdd2, 0xdd4), - (0xdd6, 0xdd6), (0xe31, 0xe31), (0xe34, 0xe3a), - (0xe47, 0xe4e), (0xeb1, 0xeb1), (0xeb4, 0xeb9), - (0xebb, 0xebc), (0xec8, 0xecd), (0xf18, 0xf19), - (0xf35, 0xf35), (0xf37, 0xf37), (0xf39, 0xf39), - (0xf71, 0xf7e), (0xf80, 0xf84), (0xf86, 0xf87), - (0xf90, 0xf97), (0xf99, 0xfbc), (0xfc6, 0xfc6), - (0x102d, 0x1030), (0x1032, 0x1032), (0x1036, 0x1037), - (0x1039, 0x103a), (0x1058, 0x1059), (0x108d, 0x108d), - (0x1160, 0x11ff), (0x135d, 0x135f), (0x1712, 0x1714), - (0x1732, 0x1734), (0x1752, 0x1753), (0x1772, 0x1773), - (0x17b4, 0x17b5), (0x17b7, 0x17bd), (0x17c6, 0x17c6), - (0x17c9, 0x17d3), (0x17dd, 0x17dd), (0x180b, 0x180d), - (0x18a9, 0x18a9), (0x1920, 0x1922), (0x1927, 0x1928), - (0x1932, 0x1932), (0x1939, 0x193b), (0x1a17, 0x1a18), - (0x1a60, 0x1a60), (0x1a75, 0x1a7c), (0x1a7f, 0x1a7f), + (0x8d4, 0x8e1), (0x8e3, 0x8ff), (0x901, 0x902), + (0x93c, 0x93c), (0x941, 0x948), (0x94d, 0x94d), + (0x951, 0x954), (0x962, 0x963), (0x981, 0x981), + (0x9bc, 0x9bc), (0x9c1, 0x9c4), (0x9cd, 0x9cd), + (0x9e2, 0x9e3), (0xa01, 0xa02), (0xa3c, 0xa3c), + (0xa41, 0xa42), (0xa47, 0xa48), (0xa4b, 0xa4d), + (0xa70, 0xa71), (0xa81, 0xa82), (0xabc, 0xabc), + (0xac1, 0xac5), (0xac7, 0xac8), (0xacd, 0xacd), + (0xae2, 0xae3), (0xb01, 0xb01), (0xb3c, 0xb3c), + (0xb3f, 0xb3f), (0xb41, 0xb43), (0xb4d, 0xb4d), + (0xb56, 0xb56), (0xb82, 0xb82), (0xbc0, 0xbc0), + (0xbcd, 0xbcd), (0xc3e, 0xc40), (0xc46, 0xc48), + (0xc4a, 0xc4d), (0xc55, 0xc56), (0xcbc, 0xcbc), + (0xcbf, 0xcbf), (0xcc6, 0xcc6), (0xccc, 0xccd), + (0xce2, 0xce3), (0xd41, 0xd43), (0xd4d, 0xd4d), + (0xdca, 0xdca), (0xdd2, 0xdd4), (0xdd6, 0xdd6), + (0xe31, 0xe31), (0xe34, 0xe3a), (0xe47, 0xe4e), + (0xeb1, 0xeb1), (0xeb4, 0xeb9), (0xebb, 0xebc), + (0xec8, 0xecd), (0xf18, 0xf19), (0xf35, 0xf35), + (0xf37, 0xf37), (0xf39, 0xf39), (0xf71, 0xf7e), + (0xf80, 0xf84), (0xf86, 0xf87), (0xf90, 0xf97), + (0xf99, 0xfbc), (0xfc6, 0xfc6), (0x102d, 0x1030), + (0x1032, 0x1032), (0x1036, 0x1037), (0x1039, 0x103a), + (0x1058, 0x1059), (0x108d, 0x108d), (0x1160, 0x11ff), + (0x135d, 0x135f), (0x1712, 0x1714), (0x1732, 0x1734), + (0x1752, 0x1753), (0x1772, 0x1773), (0x17b4, 0x17b5), + (0x17b7, 0x17bd), (0x17c6, 0x17c6), (0x17c9, 0x17d3), + (0x17dd, 0x17dd), (0x180b, 0x180d), (0x18a9, 0x18a9), + (0x1920, 0x1922), (0x1927, 0x1928), (0x1932, 0x1932), + (0x1939, 0x193b), (0x1a17, 0x1a18), (0x1a60, 0x1a60), + (0x1a75, 0x1a7c), (0x1a7f, 0x1a7f), (0x1ab0, 0x1abd), (0x1b00, 0x1b03), (0x1b34, 0x1b34), (0x1b36, 0x1b3a), (0x1b3c, 0x1b3c), (0x1b42, 0x1b42), (0x1b44, 0x1b44), - (0x1b6b, 0x1b73), (0x1baa, 0x1baa), (0x1be6, 0x1be6), + (0x1b6b, 0x1b73), (0x1baa, 0x1bab), (0x1be6, 0x1be6), (0x1bf2, 0x1bf3), (0x1c37, 0x1c37), (0x1cd0, 0x1cd2), (0x1cd4, 0x1ce0), (0x1ce2, 0x1ce8), (0x1ced, 0x1ced), - (0x1dc0, 0x1de6), (0x1dfc, 0x1dff), (0x200b, 0x200f), - (0x202a, 0x202e), (0x2060, 0x2063), (0x206a, 0x206f), - (0x20d0, 0x20f0), (0x2cef, 0x2cf1), (0x2d7f, 0x2d7f), - (0x2de0, 0x2dff), (0x302a, 0x302f), (0x3099, 0x309a), - (0xa66f, 0xa66f), (0xa67c, 0xa67d), (0xa6f0, 0xa6f1), + (0x1cf4, 0x1cf4), (0x1cf8, 0x1cf9), (0x1dc0, 0x1df5), + (0x1dfb, 0x1dff), (0x200b, 0x200f), (0x202a, 0x202e), + (0x2060, 0x2063), (0x206a, 0x206f), (0x20d0, 0x20f0), + (0x2cef, 0x2cf1), (0x2d7f, 0x2d7f), (0x2de0, 0x2dff), + (0x302a, 0x302f), (0x3099, 0x309a), (0xa66f, 0xa66f), + (0xa674, 0xa67d), (0xa69e, 0xa69f), (0xa6f0, 0xa6f1), (0xa806, 0xa806), (0xa80b, 0xa80b), (0xa825, 0xa826), (0xa8c4, 0xa8c4), (0xa8e0, 0xa8f1), (0xa92b, 0xa92d), (0xa953, 0xa953), (0xa9b3, 0xa9b3), (0xa9c0, 0xa9c0), (0xaab0, 0xaab0), (0xaab2, 0xaab4), (0xaab7, 0xaab8), - (0xaabe, 0xaabf), (0xaac1, 0xaac1), (0xabed, 0xabed), - (0xfb1e, 0xfb1e), (0xfe00, 0xfe0f), (0xfe20, 0xfe26), - (0xfeff, 0xfeff), (0xfff9, 0xfffb), (0x101fd, 0x101fd), + (0xaabe, 0xaabf), (0xaac1, 0xaac1), (0xaaf6, 0xaaf6), + (0xabed, 0xabed), (0xfb1e, 0xfb1e), (0xfe00, 0xfe0f), + (0xfe20, 0xfe2f), (0xfeff, 0xfeff), (0xfff9, 0xfffb), + (0x101fd, 0x101fd), (0x102e0, 0x102e0), (0x10376, 0x1037a), (0x10a01, 0x10a03), (0x10a05, 0x10a06), (0x10a0c, 0x10a0f), - (0x10a38, 0x10a3a), (0x10a3f, 0x10a3f), (0x11046, 0x11046), - (0x110b9, 0x110ba), (0x1d165, 0x1d169), (0x1d16d, 0x1d182), + (0x10a38, 0x10a3a), (0x10a3f, 0x10a3f), (0x10ae5, 0x10ae6), + (0x11046, 0x11046), (0x1107f, 0x1107f), (0x110b9, 0x110ba), + (0x11100, 0x11102), (0x11133, 0x11134), (0x11173, 0x11173), + (0x111c0, 0x111c0), (0x111ca, 0x111ca), (0x11235, 0x11236), + (0x112e9, 0x112ea), (0x1133c, 0x1133c), (0x1134d, 0x1134d), + (0x11366, 0x1136c), (0x11370, 0x11374), (0x11442, 0x11442), + (0x11446, 0x11446), (0x114c2, 0x114c3), (0x115bf, 0x115c0), + (0x1163f, 0x1163f), (0x116b6, 0x116b7), (0x1172b, 0x1172b), + (0x11c3f, 0x11c3f), (0x16af0, 0x16af4), (0x16b30, 0x16b36), + (0x1bc9e, 0x1bc9e), (0x1d165, 0x1d169), (0x1d16d, 0x1d182), (0x1d185, 0x1d18b), (0x1d1aa, 0x1d1ad), (0x1d242, 0x1d244), - (0xe0001, 0xe0001), (0xe0020, 0xe007f), (0xe0100, 0xe01ef), ) + (0x1e000, 0x1e006), (0x1e008, 0x1e018), (0x1e01b, 0x1e021), + (0x1e023, 0x1e024), (0x1e026, 0x1e02a), (0x1e8d0, 0x1e8d6), + (0x1e944, 0x1e94a), (0xe0001, 0xe0001), (0xe0020, 0xe007f), + (0xe0100, 0xe01ef), ) ''' Internal table, provided by this module to list :term:`code points` which @@ -185,8 +199,8 @@ :func:`~kitchen.text.display._generate_combining_table` for how this table is generated -This table was last regenerated on python-3.2.3 with -:data:`unicodedata.unidata_version` 6.0.0 +This table was last regenerated on python-3.6.0-rc1 with +:data:`unicodedata.unidata_version` 9.0.0 ''' # New function from Toshio Kuratomi (LGPLv2+) @@ -215,58 +229,58 @@ # characters generated ifrom Unicode 5.0 data by: # "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" markus_kuhn_combining_5_0 = ( - ( 0x0300, 0x036F ), ( 0x0483, 0x0486 ), ( 0x0488, 0x0489 ), - ( 0x0591, 0x05BD ), ( 0x05BF, 0x05BF ), ( 0x05C1, 0x05C2 ), - ( 0x05C4, 0x05C5 ), ( 0x05C7, 0x05C7 ), ( 0x0600, 0x0603 ), - ( 0x0610, 0x0615 ), ( 0x064B, 0x065E ), ( 0x0670, 0x0670 ), - ( 0x06D6, 0x06E4 ), ( 0x06E7, 0x06E8 ), ( 0x06EA, 0x06ED ), - ( 0x070F, 0x070F ), ( 0x0711, 0x0711 ), ( 0x0730, 0x074A ), - ( 0x07A6, 0x07B0 ), ( 0x07EB, 0x07F3 ), ( 0x0901, 0x0902 ), - ( 0x093C, 0x093C ), ( 0x0941, 0x0948 ), ( 0x094D, 0x094D ), - ( 0x0951, 0x0954 ), ( 0x0962, 0x0963 ), ( 0x0981, 0x0981 ), - ( 0x09BC, 0x09BC ), ( 0x09C1, 0x09C4 ), ( 0x09CD, 0x09CD ), - ( 0x09E2, 0x09E3 ), ( 0x0A01, 0x0A02 ), ( 0x0A3C, 0x0A3C ), - ( 0x0A41, 0x0A42 ), ( 0x0A47, 0x0A48 ), ( 0x0A4B, 0x0A4D ), - ( 0x0A70, 0x0A71 ), ( 0x0A81, 0x0A82 ), ( 0x0ABC, 0x0ABC ), - ( 0x0AC1, 0x0AC5 ), ( 0x0AC7, 0x0AC8 ), ( 0x0ACD, 0x0ACD ), - ( 0x0AE2, 0x0AE3 ), ( 0x0B01, 0x0B01 ), ( 0x0B3C, 0x0B3C ), - ( 0x0B3F, 0x0B3F ), ( 0x0B41, 0x0B43 ), ( 0x0B4D, 0x0B4D ), - ( 0x0B56, 0x0B56 ), ( 0x0B82, 0x0B82 ), ( 0x0BC0, 0x0BC0 ), - ( 0x0BCD, 0x0BCD ), ( 0x0C3E, 0x0C40 ), ( 0x0C46, 0x0C48 ), - ( 0x0C4A, 0x0C4D ), ( 0x0C55, 0x0C56 ), ( 0x0CBC, 0x0CBC ), - ( 0x0CBF, 0x0CBF ), ( 0x0CC6, 0x0CC6 ), ( 0x0CCC, 0x0CCD ), - ( 0x0CE2, 0x0CE3 ), ( 0x0D41, 0x0D43 ), ( 0x0D4D, 0x0D4D ), - ( 0x0DCA, 0x0DCA ), ( 0x0DD2, 0x0DD4 ), ( 0x0DD6, 0x0DD6 ), - ( 0x0E31, 0x0E31 ), ( 0x0E34, 0x0E3A ), ( 0x0E47, 0x0E4E ), - ( 0x0EB1, 0x0EB1 ), ( 0x0EB4, 0x0EB9 ), ( 0x0EBB, 0x0EBC ), - ( 0x0EC8, 0x0ECD ), ( 0x0F18, 0x0F19 ), ( 0x0F35, 0x0F35 ), - ( 0x0F37, 0x0F37 ), ( 0x0F39, 0x0F39 ), ( 0x0F71, 0x0F7E ), - ( 0x0F80, 0x0F84 ), ( 0x0F86, 0x0F87 ), ( 0x0F90, 0x0F97 ), - ( 0x0F99, 0x0FBC ), ( 0x0FC6, 0x0FC6 ), ( 0x102D, 0x1030 ), - ( 0x1032, 0x1032 ), ( 0x1036, 0x1037 ), ( 0x1039, 0x1039 ), - ( 0x1058, 0x1059 ), ( 0x1160, 0x11FF ), ( 0x135F, 0x135F ), - ( 0x1712, 0x1714 ), ( 0x1732, 0x1734 ), ( 0x1752, 0x1753 ), - ( 0x1772, 0x1773 ), ( 0x17B4, 0x17B5 ), ( 0x17B7, 0x17BD ), - ( 0x17C6, 0x17C6 ), ( 0x17C9, 0x17D3 ), ( 0x17DD, 0x17DD ), - ( 0x180B, 0x180D ), ( 0x18A9, 0x18A9 ), ( 0x1920, 0x1922 ), - ( 0x1927, 0x1928 ), ( 0x1932, 0x1932 ), ( 0x1939, 0x193B ), - ( 0x1A17, 0x1A18 ), ( 0x1B00, 0x1B03 ), ( 0x1B34, 0x1B34 ), - ( 0x1B36, 0x1B3A ), ( 0x1B3C, 0x1B3C ), ( 0x1B42, 0x1B42 ), - ( 0x1B6B, 0x1B73 ), ( 0x1DC0, 0x1DCA ), ( 0x1DFE, 0x1DFF ), - ( 0x200B, 0x200F ), ( 0x202A, 0x202E ), ( 0x2060, 0x2063 ), - ( 0x206A, 0x206F ), ( 0x20D0, 0x20EF ), ( 0x302A, 0x302F ), - ( 0x3099, 0x309A ), ( 0xA806, 0xA806 ), ( 0xA80B, 0xA80B ), - ( 0xA825, 0xA826 ), ( 0xFB1E, 0xFB1E ), ( 0xFE00, 0xFE0F ), - ( 0xFE20, 0xFE23 ), ( 0xFEFF, 0xFEFF ), ( 0xFFF9, 0xFFFB ), - ( 0x10A01, 0x10A03 ), ( 0x10A05, 0x10A06 ), ( 0x10A0C, 0x10A0F ), - ( 0x10A38, 0x10A3A ), ( 0x10A3F, 0x10A3F ), ( 0x1D167, 0x1D169 ), - ( 0x1D173, 0x1D182 ), ( 0x1D185, 0x1D18B ), ( 0x1D1AA, 0x1D1AD ), - ( 0x1D242, 0x1D244 ), ( 0xE0001, 0xE0001 ), ( 0xE0020, 0xE007F ), - ( 0xE0100, 0xE01EF )) + (0x0300, 0x036F), (0x0483, 0x0486), (0x0488, 0x0489), + (0x0591, 0x05BD), (0x05BF, 0x05BF), (0x05C1, 0x05C2), + (0x05C4, 0x05C5), (0x05C7, 0x05C7), (0x0600, 0x0603), + (0x0610, 0x0615), (0x064B, 0x065E), (0x0670, 0x0670), + (0x06D6, 0x06E4), (0x06E7, 0x06E8), (0x06EA, 0x06ED), + (0x070F, 0x070F), (0x0711, 0x0711), (0x0730, 0x074A), + (0x07A6, 0x07B0), (0x07EB, 0x07F3), (0x0901, 0x0902), + (0x093C, 0x093C), (0x0941, 0x0948), (0x094D, 0x094D), + (0x0951, 0x0954), (0x0962, 0x0963), (0x0981, 0x0981), + (0x09BC, 0x09BC), (0x09C1, 0x09C4), (0x09CD, 0x09CD), + (0x09E2, 0x09E3), (0x0A01, 0x0A02), (0x0A3C, 0x0A3C), + (0x0A41, 0x0A42), (0x0A47, 0x0A48), (0x0A4B, 0x0A4D), + (0x0A70, 0x0A71), (0x0A81, 0x0A82), (0x0ABC, 0x0ABC), + (0x0AC1, 0x0AC5), (0x0AC7, 0x0AC8), (0x0ACD, 0x0ACD), + (0x0AE2, 0x0AE3), (0x0B01, 0x0B01), (0x0B3C, 0x0B3C), + (0x0B3F, 0x0B3F), (0x0B41, 0x0B43), (0x0B4D, 0x0B4D), + (0x0B56, 0x0B56), (0x0B82, 0x0B82), (0x0BC0, 0x0BC0), + (0x0BCD, 0x0BCD), (0x0C3E, 0x0C40), (0x0C46, 0x0C48), + (0x0C4A, 0x0C4D), (0x0C55, 0x0C56), (0x0CBC, 0x0CBC), + (0x0CBF, 0x0CBF), (0x0CC6, 0x0CC6), (0x0CCC, 0x0CCD), + (0x0CE2, 0x0CE3), (0x0D41, 0x0D43), (0x0D4D, 0x0D4D), + (0x0DCA, 0x0DCA), (0x0DD2, 0x0DD4), (0x0DD6, 0x0DD6), + (0x0E31, 0x0E31), (0x0E34, 0x0E3A), (0x0E47, 0x0E4E), + (0x0EB1, 0x0EB1), (0x0EB4, 0x0EB9), (0x0EBB, 0x0EBC), + (0x0EC8, 0x0ECD), (0x0F18, 0x0F19), (0x0F35, 0x0F35), + (0x0F37, 0x0F37), (0x0F39, 0x0F39), (0x0F71, 0x0F7E), + (0x0F80, 0x0F84), (0x0F86, 0x0F87), (0x0F90, 0x0F97), + (0x0F99, 0x0FBC), (0x0FC6, 0x0FC6), (0x102D, 0x1030), + (0x1032, 0x1032), (0x1036, 0x1037), (0x1039, 0x1039), + (0x1058, 0x1059), (0x1160, 0x11FF), (0x135F, 0x135F), + (0x1712, 0x1714), (0x1732, 0x1734), (0x1752, 0x1753), + (0x1772, 0x1773), (0x17B4, 0x17B5), (0x17B7, 0x17BD), + (0x17C6, 0x17C6), (0x17C9, 0x17D3), (0x17DD, 0x17DD), + (0x180B, 0x180D), (0x18A9, 0x18A9), (0x1920, 0x1922), + (0x1927, 0x1928), (0x1932, 0x1932), (0x1939, 0x193B), + (0x1A17, 0x1A18), (0x1B00, 0x1B03), (0x1B34, 0x1B34), + (0x1B36, 0x1B3A), (0x1B3C, 0x1B3C), (0x1B42, 0x1B42), + (0x1B6B, 0x1B73), (0x1DC0, 0x1DCA), (0x1DFE, 0x1DFF), + (0x200B, 0x200F), (0x202A, 0x202E), (0x2060, 0x2063), + (0x206A, 0x206F), (0x20D0, 0x20EF), (0x302A, 0x302F), + (0x3099, 0x309A), (0xA806, 0xA806), (0xA80B, 0xA80B), + (0xA825, 0xA826), (0xFB1E, 0xFB1E), (0xFE00, 0xFE0F), + (0xFE20, 0xFE23), (0xFEFF, 0xFEFF), (0xFFF9, 0xFFFB), + (0x10A01, 0x10A03), (0x10A05, 0x10A06), (0x10A0C, 0x10A0F), + (0x10A38, 0x10A3A), (0x10A3F, 0x10A3F), (0x1D167, 0x1D169), + (0x1D173, 0x1D182), (0x1D185, 0x1D18B), (0x1D1AA, 0x1D1AD), + (0x1D242, 0x1D244), (0xE0001, 0xE0001), (0xE0020, 0xE007F), + (0xE0100, 0xE01EF)) combining = [] in_interval = False interval = [] - for codepoint in xrange (0, 0xFFFFF + 1): + for codepoint in xrange(0, 0xFFFFF + 1): if _interval_bisearch(codepoint, markus_kuhn_combining_5_0) or \ unicodedata.combining(unichr(codepoint)): if not in_interval: diff -Nru kitchen-1.2.4/kitchen2/kitchen/text/exceptions.py kitchen-1.2.5/kitchen2/kitchen/text/exceptions.py --- kitchen-1.2.4/kitchen2/kitchen/text/exceptions.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/text/exceptions.py 2017-08-23 22:33:07.000000000 +0000 @@ -6,12 +6,12 @@ # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # kitchen is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. -# +# # You should have received a copy of the GNU Lesser General Public # License along with kitchen; if not, see # diff -Nru kitchen-1.2.4/kitchen2/kitchen/text/utf8.py kitchen-1.2.5/kitchen2/kitchen/text/utf8.py --- kitchen-1.2.4/kitchen2/kitchen/text/utf8.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/kitchen/text/utf8.py 2017-08-23 22:33:07.000000000 +0000 @@ -9,12 +9,12 @@ # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # @@ -105,7 +105,7 @@ return textual_width(msg), msg as_bytes = not isunicodestring(msg) - + chopped_msg = textual_width_chop(msg, chop) if as_bytes: chopped_msg = to_bytes(chopped_msg) diff -Nru kitchen-1.2.4/kitchen2/tests/base_classes.py kitchen-1.2.5/kitchen2/tests/base_classes.py --- kitchen-1.2.4/kitchen2/tests/base_classes.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/tests/base_classes.py 2017-08-23 22:33:07.000000000 +0000 @@ -64,8 +64,8 @@ u_entity_escape = u'Test: <"&"> – ' + unicode(u_japanese.encode('ascii', 'xmlcharrefreplace'), 'ascii') + u'é' utf8_entity_escape = 'Test: <"&"> – 速い茶色のキツネが怠惰な犬に\'増é' utf8_attrib_escape = 'Test: <"&"> – 速い茶色のキツネが怠惰な犬に\'増é' - ascii_entity_escape = ('Test: <"&"> '.replace('&', '&',1).replace('<', '<').replace('>', '>')) + (u'– ' + u_japanese + u'é').encode('ascii', 'xmlcharrefreplace') - ascii_attrib_escape = ('Test: <"&"> '.replace('&', '&',1).replace('<', '<').replace('>', '>').replace('"', '"')) + (u'– ' + u_japanese + u'é').encode('ascii', 'xmlcharrefreplace') + ascii_entity_escape = ('Test: <"&"> '.replace('&', '&', 1).replace('<', '<').replace('>', '>')) + (u'– ' + u_japanese + u'é').encode('ascii', 'xmlcharrefreplace') + ascii_attrib_escape = ('Test: <"&"> '.replace('&', '&', 1).replace('<', '<').replace('>', '>').replace('"', '"')) + (u'– ' + u_japanese + u'é').encode('ascii', 'xmlcharrefreplace') b_byte_chars = ' '.join(map(chr, range(0, 256))) b_byte_encoded = 'ACABIAIgAyAEIAUgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiATIBQgFSAWIBcgGCAZIBogGyAcIB0gHiAfICAgISAiICMgJCAlICYgJyAoICkgKiArICwgLSAuIC8gMCAxIDIgMyA0IDUgNiA3IDggOSA6IDsgPCA9ID4gPyBAIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSIFMgVCBVIFYgVyBYIFkgWiBbIFwgXSBeIF8gYCBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHogeyB8IH0gfiB/IIAggSCCIIMghCCFIIYghyCIIIkgiiCLIIwgjSCOII8gkCCRIJIgkyCUIJUgliCXIJggmSCaIJsgnCCdIJ4gnyCgIKEgoiCjIKQgpSCmIKcgqCCpIKogqyCsIK0griCvILAgsSCyILMgtCC1ILYgtyC4ILkguiC7ILwgvSC+IL8gwCDBIMIgwyDEIMUgxiDHIMggySDKIMsgzCDNIM4gzyDQINEg0iDTINQg1SDWINcg2CDZINog2yDcIN0g3iDfIOAg4SDiIOMg5CDlIOYg5yDoIOkg6iDrIOwg7SDuIO8g8CDxIPIg8yD0IPUg9iD3IPgg+SD6IPsg/CD9IP4g/w==' @@ -77,7 +77,7 @@ straightforward programmer's interface and a simple syntax for config files. It has lots of other features though: - + * Nested sections (subsections), to any level * List values diff -Nru kitchen-1.2.4/kitchen2/tests/test__all__.py kitchen-1.2.5/kitchen2/tests/test__all__.py --- kitchen-1.2.4/kitchen2/tests/test__all__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/tests/test__all__.py 2017-08-23 22:33:07.000000000 +0000 @@ -112,7 +112,7 @@ For each module, check that it has an __all__ ''' # Blacklisted modules and packages - blacklist = set([ ]) + blacklist = set([]) for path, modname in [m for m in self.walk_modules(self.lib_dir, '') if m[1] not in blacklist]: @@ -144,7 +144,7 @@ For each name in module's __all__, check that it exists ''' # Blacklisted modules and packages - blacklist = set([ ]) + blacklist = set([]) for path, modname in [m for m in self.walk_modules(self.lib_dir, '') if m[1] not in blacklist]: diff -Nru kitchen-1.2.4/kitchen2/tests/test_deprecation.py kitchen-1.2.5/kitchen2/tests/test_deprecation.py --- kitchen-1.2.4/kitchen2/tests/test_deprecation.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/tests/test_deprecation.py 2017-08-23 22:33:07.000000000 +0000 @@ -61,5 +61,3 @@ i18n.get_translation_object, 'test', **{'python2_api': True}) tools.assert_raises(PendingDeprecationWarning, i18n.DummyTranslations, **{'python2_api': True}) - - diff -Nru kitchen-1.2.4/kitchen2/tests/test_i18n.py kitchen-1.2.5/kitchen2/tests/test_i18n.py --- kitchen-1.2.4/kitchen2/tests/test_i18n.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/tests/test_i18n.py 2017-08-23 22:33:07.000000000 +0000 @@ -816,5 +816,3 @@ # Returns msgid because the string is in a fallback catalog which we # haven't setup tools.eq_(_(self.u_in_fallback), self.utf8_in_fallback) - - diff -Nru kitchen-1.2.4/kitchen2/tests/test_subprocess.py kitchen-1.2.5/kitchen2/tests/test_subprocess.py --- kitchen-1.2.4/kitchen2/tests/test_subprocess.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/tests/test_subprocess.py 2017-08-23 22:33:07.000000000 +0000 @@ -215,7 +215,7 @@ else: self.fail("Expected TypeError") finally: - setattr(sys,'stderr', orig_stderr) + setattr(sys, 'stderr', orig_stderr) self.assertEqual(s.getvalue(), '') def test_stdin_none(self): @@ -730,7 +730,7 @@ ofhandle, ofname = mkstemp() efhandle, efname = mkstemp() try: - subprocess.Popen (["*"], stdin=ifhandle, stdout=ofhandle, + subprocess.Popen(["*"], stdin=ifhandle, stdout=ofhandle, stderr=efhandle) except OSError: os.close(ifhandle) @@ -856,7 +856,7 @@ try: import resource old_limit = resource.getrlimit(resource.RLIMIT_CORE) - resource.setrlimit(resource.RLIMIT_CORE, (0,0)) + resource.setrlimit(resource.RLIMIT_CORE, (0, 0)) return old_limit except (ImportError, ValueError, resource.error): return None @@ -1412,7 +1412,7 @@ super(CommandsWithSpaces, self).setUp() f, fname = mkstemp(".py", "te st") - self.fname = fname.lower () + self.fname = fname.lower() os.write(f, "import sys;" "sys.stdout.write('%d %s' % (len(sys.argv), [a.lower () for a in sys.argv]))" ) @@ -1427,7 +1427,7 @@ p = subprocess.Popen(*args, **kwargs) self.addCleanup(p.stdout.close) self.assertEqual( - p.stdout.read ().decode("mbcs"), + p.stdout.read().decode("mbcs"), "2 [%r, 'ab cd']" % self.fname ) diff -Nru kitchen-1.2.4/kitchen2/tests/test_text_display.py kitchen-1.2.5/kitchen2/tests/test_text_display.py --- kitchen-1.2.4/kitchen2/tests/test_text_display.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/tests/test_text_display.py 2017-08-23 22:33:07.000000000 +0000 @@ -13,7 +13,7 @@ def test_internal_interval_bisearch(self): '''Test that we can find things in an interval table''' - table = ((0, 3), (5,7), (9, 10)) + table = ((0, 3), (5, 7), (9, 10)) tools.assert_true(display._interval_bisearch(0, table)) tools.assert_true(display._interval_bisearch(1, table)) tools.assert_true(display._interval_bisearch(2, table)) @@ -158,4 +158,3 @@ tools.eq_(display.byte_string_textual_width_fill(self.utf8_mixed, 25, chop=18, prefix=self.utf8_spanish, suffix=self.utf8_spanish), self.utf8_spanish + self.u_mixed[:-4].encode('utf8') + self.utf8_spanish + ' ') tools.eq_(display.byte_string_textual_width_fill(self.utf8_mixed, 25, chop=18), self.u_mixed[:-4].encode('utf8') + ' ') tools.eq_(display.byte_string_textual_width_fill(self.utf8_mixed, 25, chop=18, prefix=self.utf8_spanish, suffix=self.utf8_spanish), self.utf8_spanish + self.u_mixed[:-4].encode('utf8') + self.utf8_spanish + ' ') - diff -Nru kitchen-1.2.4/kitchen2/tests/test_text_misc.py kitchen-1.2.5/kitchen2/tests/test_text_misc.py --- kitchen-1.2.4/kitchen2/tests/test_text_misc.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen2/tests/test_text_misc.py 2017-08-23 22:33:07.000000000 +0000 @@ -100,7 +100,7 @@ def test_process_control_chars(self): tools.assert_raises(TypeError, misc.process_control_chars, 'byte string') tools.assert_raises(ControlCharError, misc.process_control_chars, - *[self.u_ascii_chars], **{'strategy':'strict'}) + *[self.u_ascii_chars], **{'strategy': 'strict'}) tools.ok_(misc.process_control_chars(self.u_ascii_chars, strategy='ignore') == self.u_ascii_no_ctrl) tools.ok_(misc.process_control_chars(self.u_ascii_chars, diff -Nru kitchen-1.2.4/kitchen3/kitchen/exceptions.py kitchen-1.2.5/kitchen3/kitchen/exceptions.py --- kitchen-1.2.4/kitchen3/kitchen/exceptions.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/exceptions.py 2017-08-23 22:33:07.000000000 +0000 @@ -6,12 +6,12 @@ # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # diff -Nru kitchen-1.2.4/kitchen3/kitchen/i18n/__init__.py kitchen-1.2.5/kitchen3/kitchen/i18n/__init__.py --- kitchen-1.2.4/kitchen3/kitchen/i18n/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/i18n/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -8,12 +8,12 @@ # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # @@ -443,7 +443,7 @@ 2) :class:`gettext.GNUTranslations` can return byte :class:`bytes` from :meth:`gettext.GNUTranslations.ugettext` and :class:`str` strings from the other :meth:`~gettext.GNUTranslations.gettext` - methods if the message being translated is the wrong type + methods if the message being translated is the wrong type When byte :class:`bytes` are returned, the strings will be encoded according to this algorithm: @@ -853,7 +853,7 @@ for plurals Setting up :mod:`gettext` can be a little tricky because of lack of - documentation. This function will setup :mod:`gettext` using the + documentation. This function will setup :mod:`gettext` using the `Class-based API `_ for you. For the simple case, you can use the default arguments and call it like diff -Nru kitchen-1.2.4/kitchen3/kitchen/__init__.py kitchen-1.2.5/kitchen3/kitchen/__init__.py --- kitchen-1.2.4/kitchen3/kitchen/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -35,7 +35,7 @@ (b_, bN_) = i18n.easy_gettext_setup('kitchen.core', use_unicode=False) #pylint: enable-msg=C0103 -__version_info__ = ((1, 2, 4),) +__version_info__ = ((1, 2, 5),) __version__ = versioning.version_tuple_to_string(__version_info__) __all__ = ('exceptions', 'release',) diff -Nru kitchen-1.2.4/kitchen3/kitchen/pycompat24/__init__.py kitchen-1.2.5/kitchen3/kitchen/pycompat24/__init__.py --- kitchen-1.2.4/kitchen3/kitchen/pycompat24/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/pycompat24/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -2,7 +2,7 @@ The :mod:`kitchen.pycompat24` module contains implementations of functionality introduced in python-2.4 for use on earlier versions of python. ''' -import warnings +import warnings warnings.warn('In python3, kitchen.pycompat24 is deprecated because the' ' python stdlib has this code in all python3 versions. If your code' diff -Nru kitchen-1.2.4/kitchen3/kitchen/pycompat24/sets/__init__.py kitchen-1.2.5/kitchen3/kitchen/pycompat24/sets/__init__.py --- kitchen-1.2.4/kitchen3/kitchen/pycompat24/sets/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/pycompat24/sets/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -3,17 +3,17 @@ # Copyright (c) 2012 Red Hat, Inc # # This file is part of kitchen -# +# # kitchen is free software; you can redistribute it and/or modify it under the # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # diff -Nru kitchen-1.2.4/kitchen3/kitchen/pycompat24/subprocess.py kitchen-1.2.5/kitchen3/kitchen/pycompat24/subprocess.py --- kitchen-1.2.4/kitchen3/kitchen/pycompat24/subprocess.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/pycompat24/subprocess.py 2017-08-23 22:33:07.000000000 +0000 @@ -5,7 +5,7 @@ from kitchen.pycompat27.subprocess import * from kitchen.pycompat27.subprocess import __all__ -import warnings +import warnings warnings.warn('In python3, kitchen.pycompat24.subprocess is deprecated.' ' If your code doesn\'t have to remain compatible with python less' diff -Nru kitchen-1.2.4/kitchen3/kitchen/pycompat27/subprocess/__init__.py kitchen-1.2.5/kitchen3/kitchen/pycompat27/subprocess/__init__.py --- kitchen-1.2.4/kitchen3/kitchen/pycompat27/subprocess/__init__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/pycompat27/subprocess/__init__.py 2017-08-23 22:33:07.000000000 +0000 @@ -3,17 +3,17 @@ # Copyright (c) 2012 Red Hat, Inc # # This file is part of kitchen -# +# # kitchen is free software; you can redistribute it and/or modify it under the # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # @@ -30,7 +30,7 @@ :mod:`subprocess` for information about using the functions provided here. ''' -import warnings +import warnings warnings.warn('In python3, kitchen.pycompat27.subprocess is deprecated.' ' If your code doesn\'t have to remain compatible with python less' diff -Nru kitchen-1.2.4/kitchen3/kitchen/text/converters.py kitchen-1.2.5/kitchen3/kitchen/text/converters.py --- kitchen-1.2.4/kitchen3/kitchen/text/converters.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/text/converters.py 2017-08-23 22:33:07.000000000 +0000 @@ -671,7 +671,7 @@ # Escape characters that have special meaning in xml if attrib: - string = xml.sax.saxutils.escape(string, entities={'"':"""}) + string = xml.sax.saxutils.escape(string, entities={'"': """}) else: string = xml.sax.saxutils.escape(string) diff -Nru kitchen-1.2.4/kitchen3/kitchen/text/display.py kitchen-1.2.5/kitchen3/kitchen/text/display.py --- kitchen-1.2.4/kitchen3/kitchen/text/display.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/text/display.py 2017-08-23 22:33:07.000000000 +0000 @@ -119,61 +119,73 @@ (0x711, 0x711), (0x730, 0x74a), (0x7a6, 0x7b0), (0x7eb, 0x7f3), (0x816, 0x819), (0x81b, 0x823), (0x825, 0x827), (0x829, 0x82d), (0x859, 0x85b), - (0x8e4, 0x8fe), (0x901, 0x902), (0x93c, 0x93c), - (0x941, 0x948), (0x94d, 0x94d), (0x951, 0x954), - (0x962, 0x963), (0x981, 0x981), (0x9bc, 0x9bc), - (0x9c1, 0x9c4), (0x9cd, 0x9cd), (0x9e2, 0x9e3), - (0xa01, 0xa02), (0xa3c, 0xa3c), (0xa41, 0xa42), - (0xa47, 0xa48), (0xa4b, 0xa4d), (0xa70, 0xa71), - (0xa81, 0xa82), (0xabc, 0xabc), (0xac1, 0xac5), - (0xac7, 0xac8), (0xacd, 0xacd), (0xae2, 0xae3), - (0xb01, 0xb01), (0xb3c, 0xb3c), (0xb3f, 0xb3f), - (0xb41, 0xb43), (0xb4d, 0xb4d), (0xb56, 0xb56), - (0xb82, 0xb82), (0xbc0, 0xbc0), (0xbcd, 0xbcd), - (0xc3e, 0xc40), (0xc46, 0xc48), (0xc4a, 0xc4d), - (0xc55, 0xc56), (0xcbc, 0xcbc), (0xcbf, 0xcbf), - (0xcc6, 0xcc6), (0xccc, 0xccd), (0xce2, 0xce3), - (0xd41, 0xd43), (0xd4d, 0xd4d), (0xdca, 0xdca), - (0xdd2, 0xdd4), (0xdd6, 0xdd6), (0xe31, 0xe31), - (0xe34, 0xe3a), (0xe47, 0xe4e), (0xeb1, 0xeb1), - (0xeb4, 0xeb9), (0xebb, 0xebc), (0xec8, 0xecd), - (0xf18, 0xf19), (0xf35, 0xf35), (0xf37, 0xf37), - (0xf39, 0xf39), (0xf71, 0xf7e), (0xf80, 0xf84), - (0xf86, 0xf87), (0xf90, 0xf97), (0xf99, 0xfbc), - (0xfc6, 0xfc6), (0x102d, 0x1030), (0x1032, 0x1032), - (0x1036, 0x1037), (0x1039, 0x103a), (0x1058, 0x1059), - (0x108d, 0x108d), (0x1160, 0x11ff), (0x135d, 0x135f), - (0x1712, 0x1714), (0x1732, 0x1734), (0x1752, 0x1753), - (0x1772, 0x1773), (0x17b4, 0x17b5), (0x17b7, 0x17bd), - (0x17c6, 0x17c6), (0x17c9, 0x17d3), (0x17dd, 0x17dd), - (0x180b, 0x180d), (0x18a9, 0x18a9), (0x1920, 0x1922), - (0x1927, 0x1928), (0x1932, 0x1932), (0x1939, 0x193b), - (0x1a17, 0x1a18), (0x1a60, 0x1a60), (0x1a75, 0x1a7c), - (0x1a7f, 0x1a7f), (0x1b00, 0x1b03), (0x1b34, 0x1b34), - (0x1b36, 0x1b3a), (0x1b3c, 0x1b3c), (0x1b42, 0x1b42), - (0x1b44, 0x1b44), (0x1b6b, 0x1b73), (0x1baa, 0x1bab), - (0x1be6, 0x1be6), (0x1bf2, 0x1bf3), (0x1c37, 0x1c37), - (0x1cd0, 0x1cd2), (0x1cd4, 0x1ce0), (0x1ce2, 0x1ce8), - (0x1ced, 0x1ced), (0x1cf4, 0x1cf4), (0x1dc0, 0x1de6), - (0x1dfc, 0x1dff), (0x200b, 0x200f), (0x202a, 0x202e), + (0x8d4, 0x8e1), (0x8e3, 0x8ff), (0x901, 0x902), + (0x93c, 0x93c), (0x941, 0x948), (0x94d, 0x94d), + (0x951, 0x954), (0x962, 0x963), (0x981, 0x981), + (0x9bc, 0x9bc), (0x9c1, 0x9c4), (0x9cd, 0x9cd), + (0x9e2, 0x9e3), (0xa01, 0xa02), (0xa3c, 0xa3c), + (0xa41, 0xa42), (0xa47, 0xa48), (0xa4b, 0xa4d), + (0xa70, 0xa71), (0xa81, 0xa82), (0xabc, 0xabc), + (0xac1, 0xac5), (0xac7, 0xac8), (0xacd, 0xacd), + (0xae2, 0xae3), (0xb01, 0xb01), (0xb3c, 0xb3c), + (0xb3f, 0xb3f), (0xb41, 0xb43), (0xb4d, 0xb4d), + (0xb56, 0xb56), (0xb82, 0xb82), (0xbc0, 0xbc0), + (0xbcd, 0xbcd), (0xc3e, 0xc40), (0xc46, 0xc48), + (0xc4a, 0xc4d), (0xc55, 0xc56), (0xcbc, 0xcbc), + (0xcbf, 0xcbf), (0xcc6, 0xcc6), (0xccc, 0xccd), + (0xce2, 0xce3), (0xd41, 0xd43), (0xd4d, 0xd4d), + (0xdca, 0xdca), (0xdd2, 0xdd4), (0xdd6, 0xdd6), + (0xe31, 0xe31), (0xe34, 0xe3a), (0xe47, 0xe4e), + (0xeb1, 0xeb1), (0xeb4, 0xeb9), (0xebb, 0xebc), + (0xec8, 0xecd), (0xf18, 0xf19), (0xf35, 0xf35), + (0xf37, 0xf37), (0xf39, 0xf39), (0xf71, 0xf7e), + (0xf80, 0xf84), (0xf86, 0xf87), (0xf90, 0xf97), + (0xf99, 0xfbc), (0xfc6, 0xfc6), (0x102d, 0x1030), + (0x1032, 0x1032), (0x1036, 0x1037), (0x1039, 0x103a), + (0x1058, 0x1059), (0x108d, 0x108d), (0x1160, 0x11ff), + (0x135d, 0x135f), (0x1712, 0x1714), (0x1732, 0x1734), + (0x1752, 0x1753), (0x1772, 0x1773), (0x17b4, 0x17b5), + (0x17b7, 0x17bd), (0x17c6, 0x17c6), (0x17c9, 0x17d3), + (0x17dd, 0x17dd), (0x180b, 0x180d), (0x18a9, 0x18a9), + (0x1920, 0x1922), (0x1927, 0x1928), (0x1932, 0x1932), + (0x1939, 0x193b), (0x1a17, 0x1a18), (0x1a60, 0x1a60), + (0x1a75, 0x1a7c), (0x1a7f, 0x1a7f), (0x1ab0, 0x1abd), + (0x1b00, 0x1b03), (0x1b34, 0x1b34), (0x1b36, 0x1b3a), + (0x1b3c, 0x1b3c), (0x1b42, 0x1b42), (0x1b44, 0x1b44), + (0x1b6b, 0x1b73), (0x1baa, 0x1bab), (0x1be6, 0x1be6), + (0x1bf2, 0x1bf3), (0x1c37, 0x1c37), (0x1cd0, 0x1cd2), + (0x1cd4, 0x1ce0), (0x1ce2, 0x1ce8), (0x1ced, 0x1ced), + (0x1cf4, 0x1cf4), (0x1cf8, 0x1cf9), (0x1dc0, 0x1df5), + (0x1dfb, 0x1dff), (0x200b, 0x200f), (0x202a, 0x202e), (0x2060, 0x2063), (0x206a, 0x206f), (0x20d0, 0x20f0), (0x2cef, 0x2cf1), (0x2d7f, 0x2d7f), (0x2de0, 0x2dff), (0x302a, 0x302f), (0x3099, 0x309a), (0xa66f, 0xa66f), - (0xa674, 0xa67d), (0xa69f, 0xa69f), (0xa6f0, 0xa6f1), + (0xa674, 0xa67d), (0xa69e, 0xa69f), (0xa6f0, 0xa6f1), (0xa806, 0xa806), (0xa80b, 0xa80b), (0xa825, 0xa826), (0xa8c4, 0xa8c4), (0xa8e0, 0xa8f1), (0xa92b, 0xa92d), (0xa953, 0xa953), (0xa9b3, 0xa9b3), (0xa9c0, 0xa9c0), (0xaab0, 0xaab0), (0xaab2, 0xaab4), (0xaab7, 0xaab8), (0xaabe, 0xaabf), (0xaac1, 0xaac1), (0xaaf6, 0xaaf6), (0xabed, 0xabed), (0xfb1e, 0xfb1e), (0xfe00, 0xfe0f), - (0xfe20, 0xfe26), (0xfeff, 0xfeff), (0xfff9, 0xfffb), - (0x101fd, 0x101fd), (0x10a01, 0x10a03), (0x10a05, 0x10a06), - (0x10a0c, 0x10a0f), (0x10a38, 0x10a3a), (0x10a3f, 0x10a3f), - (0x11046, 0x11046), (0x110b9, 0x110ba), (0x11100, 0x11102), - (0x11133, 0x11134), (0x111c0, 0x111c0), (0x116b6, 0x116b7), - (0x1d165, 0x1d169), (0x1d16d, 0x1d182), (0x1d185, 0x1d18b), - (0x1d1aa, 0x1d1ad), (0x1d242, 0x1d244), (0xe0001, 0xe0001), - (0xe0020, 0xe007f), (0xe0100, 0xe01ef), ) + (0xfe20, 0xfe2f), (0xfeff, 0xfeff), (0xfff9, 0xfffb), + (0x101fd, 0x101fd), (0x102e0, 0x102e0), (0x10376, 0x1037a), + (0x10a01, 0x10a03), (0x10a05, 0x10a06), (0x10a0c, 0x10a0f), + (0x10a38, 0x10a3a), (0x10a3f, 0x10a3f), (0x10ae5, 0x10ae6), + (0x11046, 0x11046), (0x1107f, 0x1107f), (0x110b9, 0x110ba), + (0x11100, 0x11102), (0x11133, 0x11134), (0x11173, 0x11173), + (0x111c0, 0x111c0), (0x111ca, 0x111ca), (0x11235, 0x11236), + (0x112e9, 0x112ea), (0x1133c, 0x1133c), (0x1134d, 0x1134d), + (0x11366, 0x1136c), (0x11370, 0x11374), (0x11442, 0x11442), + (0x11446, 0x11446), (0x114c2, 0x114c3), (0x115bf, 0x115c0), + (0x1163f, 0x1163f), (0x116b6, 0x116b7), (0x1172b, 0x1172b), + (0x11c3f, 0x11c3f), (0x16af0, 0x16af4), (0x16b30, 0x16b36), + (0x1bc9e, 0x1bc9e), (0x1d165, 0x1d169), (0x1d16d, 0x1d182), + (0x1d185, 0x1d18b), (0x1d1aa, 0x1d1ad), (0x1d242, 0x1d244), + (0x1e000, 0x1e006), (0x1e008, 0x1e018), (0x1e01b, 0x1e021), + (0x1e023, 0x1e024), (0x1e026, 0x1e02a), (0x1e8d0, 0x1e8d6), + (0x1e944, 0x1e94a), (0xe0001, 0xe0001), (0xe0020, 0xe007f), + (0xe0100, 0xe01ef), ) + ''' Internal table, provided by this module to list :term:`code points` which combine with other characters and therefore should have no :term:`textual @@ -187,8 +199,8 @@ :func:`~kitchen.text.display._generate_combining_table` for how this table is generated -This table was last regenerated on python-3.2.3 with -:data:`unicodedata.unidata_version` 6.0.0 +This table was last regenerated on python-3.6.0-rc1 with +:data:`unicodedata.unidata_version` 9.0.0 ''' # New function from Toshio Kuratomi (LGPLv2+) def _generate_combining_table(): @@ -216,58 +228,58 @@ # characters generated ifrom Unicode 5.0 data by: # "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" markus_kuhn_combining_5_0 = ( - ( 0x0300, 0x036F ), ( 0x0483, 0x0486 ), ( 0x0488, 0x0489 ), - ( 0x0591, 0x05BD ), ( 0x05BF, 0x05BF ), ( 0x05C1, 0x05C2 ), - ( 0x05C4, 0x05C5 ), ( 0x05C7, 0x05C7 ), ( 0x0600, 0x0603 ), - ( 0x0610, 0x0615 ), ( 0x064B, 0x065E ), ( 0x0670, 0x0670 ), - ( 0x06D6, 0x06E4 ), ( 0x06E7, 0x06E8 ), ( 0x06EA, 0x06ED ), - ( 0x070F, 0x070F ), ( 0x0711, 0x0711 ), ( 0x0730, 0x074A ), - ( 0x07A6, 0x07B0 ), ( 0x07EB, 0x07F3 ), ( 0x0901, 0x0902 ), - ( 0x093C, 0x093C ), ( 0x0941, 0x0948 ), ( 0x094D, 0x094D ), - ( 0x0951, 0x0954 ), ( 0x0962, 0x0963 ), ( 0x0981, 0x0981 ), - ( 0x09BC, 0x09BC ), ( 0x09C1, 0x09C4 ), ( 0x09CD, 0x09CD ), - ( 0x09E2, 0x09E3 ), ( 0x0A01, 0x0A02 ), ( 0x0A3C, 0x0A3C ), - ( 0x0A41, 0x0A42 ), ( 0x0A47, 0x0A48 ), ( 0x0A4B, 0x0A4D ), - ( 0x0A70, 0x0A71 ), ( 0x0A81, 0x0A82 ), ( 0x0ABC, 0x0ABC ), - ( 0x0AC1, 0x0AC5 ), ( 0x0AC7, 0x0AC8 ), ( 0x0ACD, 0x0ACD ), - ( 0x0AE2, 0x0AE3 ), ( 0x0B01, 0x0B01 ), ( 0x0B3C, 0x0B3C ), - ( 0x0B3F, 0x0B3F ), ( 0x0B41, 0x0B43 ), ( 0x0B4D, 0x0B4D ), - ( 0x0B56, 0x0B56 ), ( 0x0B82, 0x0B82 ), ( 0x0BC0, 0x0BC0 ), - ( 0x0BCD, 0x0BCD ), ( 0x0C3E, 0x0C40 ), ( 0x0C46, 0x0C48 ), - ( 0x0C4A, 0x0C4D ), ( 0x0C55, 0x0C56 ), ( 0x0CBC, 0x0CBC ), - ( 0x0CBF, 0x0CBF ), ( 0x0CC6, 0x0CC6 ), ( 0x0CCC, 0x0CCD ), - ( 0x0CE2, 0x0CE3 ), ( 0x0D41, 0x0D43 ), ( 0x0D4D, 0x0D4D ), - ( 0x0DCA, 0x0DCA ), ( 0x0DD2, 0x0DD4 ), ( 0x0DD6, 0x0DD6 ), - ( 0x0E31, 0x0E31 ), ( 0x0E34, 0x0E3A ), ( 0x0E47, 0x0E4E ), - ( 0x0EB1, 0x0EB1 ), ( 0x0EB4, 0x0EB9 ), ( 0x0EBB, 0x0EBC ), - ( 0x0EC8, 0x0ECD ), ( 0x0F18, 0x0F19 ), ( 0x0F35, 0x0F35 ), - ( 0x0F37, 0x0F37 ), ( 0x0F39, 0x0F39 ), ( 0x0F71, 0x0F7E ), - ( 0x0F80, 0x0F84 ), ( 0x0F86, 0x0F87 ), ( 0x0F90, 0x0F97 ), - ( 0x0F99, 0x0FBC ), ( 0x0FC6, 0x0FC6 ), ( 0x102D, 0x1030 ), - ( 0x1032, 0x1032 ), ( 0x1036, 0x1037 ), ( 0x1039, 0x1039 ), - ( 0x1058, 0x1059 ), ( 0x1160, 0x11FF ), ( 0x135F, 0x135F ), - ( 0x1712, 0x1714 ), ( 0x1732, 0x1734 ), ( 0x1752, 0x1753 ), - ( 0x1772, 0x1773 ), ( 0x17B4, 0x17B5 ), ( 0x17B7, 0x17BD ), - ( 0x17C6, 0x17C6 ), ( 0x17C9, 0x17D3 ), ( 0x17DD, 0x17DD ), - ( 0x180B, 0x180D ), ( 0x18A9, 0x18A9 ), ( 0x1920, 0x1922 ), - ( 0x1927, 0x1928 ), ( 0x1932, 0x1932 ), ( 0x1939, 0x193B ), - ( 0x1A17, 0x1A18 ), ( 0x1B00, 0x1B03 ), ( 0x1B34, 0x1B34 ), - ( 0x1B36, 0x1B3A ), ( 0x1B3C, 0x1B3C ), ( 0x1B42, 0x1B42 ), - ( 0x1B6B, 0x1B73 ), ( 0x1DC0, 0x1DCA ), ( 0x1DFE, 0x1DFF ), - ( 0x200B, 0x200F ), ( 0x202A, 0x202E ), ( 0x2060, 0x2063 ), - ( 0x206A, 0x206F ), ( 0x20D0, 0x20EF ), ( 0x302A, 0x302F ), - ( 0x3099, 0x309A ), ( 0xA806, 0xA806 ), ( 0xA80B, 0xA80B ), - ( 0xA825, 0xA826 ), ( 0xFB1E, 0xFB1E ), ( 0xFE00, 0xFE0F ), - ( 0xFE20, 0xFE23 ), ( 0xFEFF, 0xFEFF ), ( 0xFFF9, 0xFFFB ), - ( 0x10A01, 0x10A03 ), ( 0x10A05, 0x10A06 ), ( 0x10A0C, 0x10A0F ), - ( 0x10A38, 0x10A3A ), ( 0x10A3F, 0x10A3F ), ( 0x1D167, 0x1D169 ), - ( 0x1D173, 0x1D182 ), ( 0x1D185, 0x1D18B ), ( 0x1D1AA, 0x1D1AD ), - ( 0x1D242, 0x1D244 ), ( 0xE0001, 0xE0001 ), ( 0xE0020, 0xE007F ), - ( 0xE0100, 0xE01EF )) + (0x0300, 0x036F), (0x0483, 0x0486), (0x0488, 0x0489), + (0x0591, 0x05BD), (0x05BF, 0x05BF), (0x05C1, 0x05C2), + (0x05C4, 0x05C5), (0x05C7, 0x05C7), (0x0600, 0x0603), + (0x0610, 0x0615), (0x064B, 0x065E), (0x0670, 0x0670), + (0x06D6, 0x06E4), (0x06E7, 0x06E8), (0x06EA, 0x06ED), + (0x070F, 0x070F), (0x0711, 0x0711), (0x0730, 0x074A), + (0x07A6, 0x07B0), (0x07EB, 0x07F3), (0x0901, 0x0902), + (0x093C, 0x093C), (0x0941, 0x0948), (0x094D, 0x094D), + (0x0951, 0x0954), (0x0962, 0x0963), (0x0981, 0x0981), + (0x09BC, 0x09BC), (0x09C1, 0x09C4), (0x09CD, 0x09CD), + (0x09E2, 0x09E3), (0x0A01, 0x0A02), (0x0A3C, 0x0A3C), + (0x0A41, 0x0A42), (0x0A47, 0x0A48), (0x0A4B, 0x0A4D), + (0x0A70, 0x0A71), (0x0A81, 0x0A82), (0x0ABC, 0x0ABC), + (0x0AC1, 0x0AC5), (0x0AC7, 0x0AC8), (0x0ACD, 0x0ACD), + (0x0AE2, 0x0AE3), (0x0B01, 0x0B01), (0x0B3C, 0x0B3C), + (0x0B3F, 0x0B3F), (0x0B41, 0x0B43), (0x0B4D, 0x0B4D), + (0x0B56, 0x0B56), (0x0B82, 0x0B82), (0x0BC0, 0x0BC0), + (0x0BCD, 0x0BCD), (0x0C3E, 0x0C40), (0x0C46, 0x0C48), + (0x0C4A, 0x0C4D), (0x0C55, 0x0C56), (0x0CBC, 0x0CBC), + (0x0CBF, 0x0CBF), (0x0CC6, 0x0CC6), (0x0CCC, 0x0CCD), + (0x0CE2, 0x0CE3), (0x0D41, 0x0D43), (0x0D4D, 0x0D4D), + (0x0DCA, 0x0DCA), (0x0DD2, 0x0DD4), (0x0DD6, 0x0DD6), + (0x0E31, 0x0E31), (0x0E34, 0x0E3A), (0x0E47, 0x0E4E), + (0x0EB1, 0x0EB1), (0x0EB4, 0x0EB9), (0x0EBB, 0x0EBC), + (0x0EC8, 0x0ECD), (0x0F18, 0x0F19), (0x0F35, 0x0F35), + (0x0F37, 0x0F37), (0x0F39, 0x0F39), (0x0F71, 0x0F7E), + (0x0F80, 0x0F84), (0x0F86, 0x0F87), (0x0F90, 0x0F97), + (0x0F99, 0x0FBC), (0x0FC6, 0x0FC6), (0x102D, 0x1030), + (0x1032, 0x1032), (0x1036, 0x1037), (0x1039, 0x1039), + (0x1058, 0x1059), (0x1160, 0x11FF), (0x135F, 0x135F), + (0x1712, 0x1714), (0x1732, 0x1734), (0x1752, 0x1753), + (0x1772, 0x1773), (0x17B4, 0x17B5), (0x17B7, 0x17BD), + (0x17C6, 0x17C6), (0x17C9, 0x17D3), (0x17DD, 0x17DD), + (0x180B, 0x180D), (0x18A9, 0x18A9), (0x1920, 0x1922), + (0x1927, 0x1928), (0x1932, 0x1932), (0x1939, 0x193B), + (0x1A17, 0x1A18), (0x1B00, 0x1B03), (0x1B34, 0x1B34), + (0x1B36, 0x1B3A), (0x1B3C, 0x1B3C), (0x1B42, 0x1B42), + (0x1B6B, 0x1B73), (0x1DC0, 0x1DCA), (0x1DFE, 0x1DFF), + (0x200B, 0x200F), (0x202A, 0x202E), (0x2060, 0x2063), + (0x206A, 0x206F), (0x20D0, 0x20EF), (0x302A, 0x302F), + (0x3099, 0x309A), (0xA806, 0xA806), (0xA80B, 0xA80B), + (0xA825, 0xA826), (0xFB1E, 0xFB1E), (0xFE00, 0xFE0F), + (0xFE20, 0xFE23), (0xFEFF, 0xFEFF), (0xFFF9, 0xFFFB), + (0x10A01, 0x10A03), (0x10A05, 0x10A06), (0x10A0C, 0x10A0F), + (0x10A38, 0x10A3A), (0x10A3F, 0x10A3F), (0x1D167, 0x1D169), + (0x1D173, 0x1D182), (0x1D185, 0x1D18B), (0x1D1AA, 0x1D1AD), + (0x1D242, 0x1D244), (0xE0001, 0xE0001), (0xE0020, 0xE007F), + (0xE0100, 0xE01EF)) combining = [] in_interval = False interval = [] - for codepoint in range (0, 0xFFFFF + 1): + for codepoint in range(0, 0xFFFFF + 1): if _interval_bisearch(codepoint, markus_kuhn_combining_5_0) or \ unicodedata.combining(chr(codepoint)): if not in_interval: diff -Nru kitchen-1.2.4/kitchen3/kitchen/text/exceptions.py kitchen-1.2.5/kitchen3/kitchen/text/exceptions.py --- kitchen-1.2.4/kitchen3/kitchen/text/exceptions.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/text/exceptions.py 2017-08-23 22:33:07.000000000 +0000 @@ -6,12 +6,12 @@ # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # kitchen is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. -# +# # You should have received a copy of the GNU Lesser General Public # License along with kitchen; if not, see # diff -Nru kitchen-1.2.4/kitchen3/kitchen/text/utf8.py kitchen-1.2.5/kitchen3/kitchen/text/utf8.py --- kitchen-1.2.4/kitchen3/kitchen/text/utf8.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/kitchen/text/utf8.py 2017-08-23 22:33:07.000000000 +0000 @@ -9,12 +9,12 @@ # terms of the GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at your option) # any later version. -# +# # kitchen is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for # more details. -# +# # You should have received a copy of the GNU Lesser General Public License # along with kitchen; if not, see # @@ -105,7 +105,7 @@ return textual_width(msg), msg as_bytes = not isunicodestring(msg) - + chopped_msg = textual_width_chop(msg, chop) if as_bytes: chopped_msg = to_bytes(chopped_msg) diff -Nru kitchen-1.2.4/kitchen3/tests/base_classes.py kitchen-1.2.5/kitchen3/tests/base_classes.py --- kitchen-1.2.4/kitchen3/tests/base_classes.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/tests/base_classes.py 2017-08-23 22:33:07.000000000 +0000 @@ -64,8 +64,8 @@ u_entity_escape = 'Test: <"&"> – ' + str(u_japanese.encode('ascii', 'xmlcharrefreplace'), 'ascii') + 'é' utf8_entity_escape = b'Test: <"&"> ' + ('– ' + u_japanese + 'é').encode('utf8') utf8_attrib_escape = b'Test: <"&"> ' + ('– ' + u_japanese + 'é').encode('utf8') - ascii_entity_escape = (b'Test: <"&"> '.replace(b'&', b'&',1).replace(b'<', b'<').replace(b'>', b'>')) + ('– ' + u_japanese + 'é').encode('ascii', 'xmlcharrefreplace') - ascii_attrib_escape = (b'Test: <"&"> '.replace(b'&', b'&',1).replace(b'<', b'<').replace(b'>', b'>').replace(b'"', b'"')) + ('– ' + u_japanese + 'é').encode('ascii', 'xmlcharrefreplace') + ascii_entity_escape = (b'Test: <"&"> '.replace(b'&', b'&', 1).replace(b'<', b'<').replace(b'>', b'>')) + ('– ' + u_japanese + 'é').encode('ascii', 'xmlcharrefreplace') + ascii_attrib_escape = (b'Test: <"&"> '.replace(b'&', b'&', 1).replace(b'<', b'<').replace(b'>', b'>').replace(b'"', b'"')) + ('– ' + u_japanese + 'é').encode('ascii', 'xmlcharrefreplace') b_byte_chars = b' '.join((bytes((b,)) for b in range(0, 256))) b_byte_encoded = b'ACABIAIgAyAEIAUgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiATIBQgFSAWIBcgGCAZIBogGyAcIB0gHiAfICAgISAiICMgJCAlICYgJyAoICkgKiArICwgLSAuIC8gMCAxIDIgMyA0IDUgNiA3IDggOSA6IDsgPCA9ID4gPyBAIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSIFMgVCBVIFYgVyBYIFkgWiBbIFwgXSBeIF8gYCBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHogeyB8IH0gfiB/IIAggSCCIIMghCCFIIYghyCIIIkgiiCLIIwgjSCOII8gkCCRIJIgkyCUIJUgliCXIJggmSCaIJsgnCCdIJ4gnyCgIKEgoiCjIKQgpSCmIKcgqCCpIKogqyCsIK0griCvILAgsSCyILMgtCC1ILYgtyC4ILkguiC7ILwgvSC+IL8gwCDBIMIgwyDEIMUgxiDHIMggySDKIMsgzCDNIM4gzyDQINEg0iDTINQg1SDWINcg2CDZINog2yDcIN0g3iDfIOAg4SDiIOMg5CDlIOYg5yDoIOkg6iDrIOwg7SDuIO8g8CDxIPIg8yD0IPUg9iD3IPgg+SD6IPsg/CD9IP4g/w==' @@ -77,7 +77,7 @@ straightforward programmer's interface and a simple syntax for config files. It has lots of other features though: - + * Nested sections (subsections), to any level * List values diff -Nru kitchen-1.2.4/kitchen3/tests/test__all__.py kitchen-1.2.5/kitchen3/tests/test__all__.py --- kitchen-1.2.4/kitchen3/tests/test__all__.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/tests/test__all__.py 2017-08-23 22:33:07.000000000 +0000 @@ -112,7 +112,7 @@ For each module, check that it has an __all__ ''' # Blacklisted modules and packages - blacklist = set([ ]) + blacklist = set([]) for path, modname in [m for m in self.walk_modules(self.lib_dir, '') if m[1] not in blacklist]: @@ -144,7 +144,7 @@ For each name in module's __all__, check that it exists ''' # Blacklisted modules and packages - blacklist = set([ ]) + blacklist = set([]) for path, modname in [m for m in self.walk_modules(self.lib_dir, '') if m[1] not in blacklist]: diff -Nru kitchen-1.2.4/kitchen3/tests/test_deprecation.py kitchen-1.2.5/kitchen3/tests/test_deprecation.py --- kitchen-1.2.4/kitchen3/tests/test_deprecation.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/tests/test_deprecation.py 2017-08-23 22:33:07.000000000 +0000 @@ -61,5 +61,3 @@ i18n.get_translation_object, 'test', **{'python2_api': True}) tools.assert_raises(PendingDeprecationWarning, i18n.DummyTranslations, **{'python2_api': True}) - - diff -Nru kitchen-1.2.4/kitchen3/tests/test_text_display.py kitchen-1.2.5/kitchen3/tests/test_text_display.py --- kitchen-1.2.4/kitchen3/tests/test_text_display.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/tests/test_text_display.py 2017-08-23 22:33:07.000000000 +0000 @@ -13,7 +13,7 @@ def test_internal_interval_bisearch(self): '''Test that we can find things in an interval table''' - table = ((0, 3), (5,7), (9, 10)) + table = ((0, 3), (5, 7), (9, 10)) tools.assert_true(display._interval_bisearch(0, table)) tools.assert_true(display._interval_bisearch(1, table)) tools.assert_true(display._interval_bisearch(2, table)) @@ -158,4 +158,3 @@ tools.eq_(display.byte_string_textual_width_fill(self.utf8_mixed, 25, chop=18, prefix=self.utf8_spanish, suffix=self.utf8_spanish), self.utf8_spanish + self.u_mixed[:-4].encode('utf8') + self.utf8_spanish + b' ') tools.eq_(display.byte_string_textual_width_fill(self.utf8_mixed, 25, chop=18), self.u_mixed[:-4].encode('utf8') + b' ') tools.eq_(display.byte_string_textual_width_fill(self.utf8_mixed, 25, chop=18, prefix=self.utf8_spanish, suffix=self.utf8_spanish), self.utf8_spanish + self.u_mixed[:-4].encode('utf8') + self.utf8_spanish + b' ') - diff -Nru kitchen-1.2.4/kitchen3/tests/test_text_misc.py kitchen-1.2.5/kitchen3/tests/test_text_misc.py --- kitchen-1.2.4/kitchen3/tests/test_text_misc.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/kitchen3/tests/test_text_misc.py 2017-08-23 22:33:07.000000000 +0000 @@ -100,7 +100,7 @@ def test_process_control_chars(self): tools.assert_raises(TypeError, misc.process_control_chars, b'byte string') tools.assert_raises(ControlCharError, misc.process_control_chars, - *[self.u_ascii_chars], **{'strategy':'strict'}) + *[self.u_ascii_chars], **{'strategy': 'strict'}) tools.ok_(misc.process_control_chars(self.u_ascii_chars, strategy='ignore') == self.u_ascii_no_ctrl) tools.ok_(misc.process_control_chars(self.u_ascii_chars, diff -Nru kitchen-1.2.4/MANIFEST.in kitchen-1.2.5/MANIFEST.in --- kitchen-1.2.4/MANIFEST.in 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/MANIFEST.in 2017-08-23 22:33:07.000000000 +0000 @@ -2,7 +2,8 @@ include *.rst include releaseutils.py recursive-include tests *.py *.po *.pot *.mo -recursive-include docs * +recursive-include kitchen2/docs * +recursive-include kitchen3/docs * include po/*.pot include po/*.po include locale/*/*/*.mo diff -Nru kitchen-1.2.4/NEWS.rst kitchen-1.2.5/NEWS.rst --- kitchen-1.2.4/NEWS.rst 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/NEWS.rst 2017-08-23 22:33:07.000000000 +0000 @@ -3,11 +3,18 @@ ==== :Author: Toshio Kuratomi -:Maintainer: Ralph Bean -:Date: 13 Nov 2015 +:Maintainer: Patrick Uiterwijk +:Date: 24 Aug 2017 :Version: 1.2.x ----- +1.2.5 +----- + +* Updated codepoint tables +* Code style fixes + +----- 1.2.4 ----- diff -Nru kitchen-1.2.4/releaseutils.py kitchen-1.2.5/releaseutils.py --- kitchen-1.2.4/releaseutils.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/releaseutils.py 2017-08-23 22:33:07.000000000 +0000 @@ -64,7 +64,7 @@ arg_values = {'domain': pot} for po_file in glob.glob(glob_pattern): file_pattern = os.path.basename(po_file) - lang = file_pattern.replace('.po','') + lang = file_pattern.replace('.po', '') os.makedirs(os.path.join('locale', lang, 'LC_MESSAGES')) arg_values['pofile'] = po_file arg_values['lang'] = lang diff -Nru kitchen-1.2.4/setup.py kitchen-1.2.5/setup.py --- kitchen-1.2.4/setup.py 2015-11-13 15:10:09.000000000 +0000 +++ kitchen-1.2.5/setup.py 2017-08-23 22:33:07.000000000 +0000 @@ -97,6 +97,6 @@ 'Topic :: Text Processing :: General', ], packages=packages, - package_dir={'' : source_dir}, + package_dir={'': source_dir}, data_files=[], )