[Python-modules-commits] [kitchen] 01/07: New upstream version 1.2.5

Sergio Durigan Junior sergiodj-guest at moszumanska.debian.org
Mon Aug 28 04:53:16 UTC 2017


This is an automated email from the git hooks/post-receive script.

sergiodj-guest pushed a commit to branch master
in repository kitchen.

commit 61cfac40fd2ae9f3a154e843ff85e7cc2cc05ae8
Author: Sergio Durigan Junior <sergiodj at sergiodj.net>
Date:   Sun Aug 27 12:20:15 2017 -0400

    New upstream version 1.2.5
---
 MANIFEST.in                                        |   3 +-
 NEWS.rst                                           |  11 +-
 kitchen2/kitchen/__init__.py                       |   2 +-
 kitchen2/kitchen/exceptions.py                     |   4 +-
 kitchen2/kitchen/i18n/__init__.py                  |   8 +-
 kitchen2/kitchen/pycompat24/base64/__init__.py     |   8 +-
 kitchen2/kitchen/pycompat24/base64/_base64.py      |   2 +-
 kitchen2/kitchen/pycompat24/sets/__init__.py       |   6 +-
 .../kitchen/pycompat25/collections/_defaultdict.py |  18 +-
 kitchen2/kitchen/pycompat27/subprocess/__init__.py |   6 +-
 .../kitchen/pycompat27/subprocess/_subprocess.py   |   6 +-
 kitchen2/kitchen/text/converters.py                |   2 +-
 kitchen2/kitchen/text/display.py                   | 200 ++++++++++----------
 kitchen2/kitchen/text/exceptions.py                |   4 +-
 kitchen2/kitchen/text/utf8.py                      |   6 +-
 kitchen2/tests/base_classes.py                     |   6 +-
 kitchen2/tests/test__all__.py                      |   4 +-
 kitchen2/tests/test_deprecation.py                 |   2 -
 kitchen2/tests/test_i18n.py                        |   2 -
 kitchen2/tests/test_subprocess.py                  |  10 +-
 kitchen2/tests/test_text_display.py                |   3 +-
 kitchen2/tests/test_text_misc.py                   |   2 +-
 kitchen3/kitchen/__init__.py                       |   2 +-
 kitchen3/kitchen/exceptions.py                     |   4 +-
 kitchen3/kitchen/i18n/__init__.py                  |   8 +-
 kitchen3/kitchen/pycompat24/__init__.py            |   2 +-
 kitchen3/kitchen/pycompat24/sets/__init__.py       |   6 +-
 kitchen3/kitchen/pycompat24/subprocess.py          |   2 +-
 kitchen3/kitchen/pycompat27/subprocess/__init__.py |   8 +-
 kitchen3/kitchen/text/converters.py                |   2 +-
 kitchen3/kitchen/text/display.py                   | 206 +++++++++++----------
 kitchen3/kitchen/text/exceptions.py                |   4 +-
 kitchen3/kitchen/text/utf8.py                      |   6 +-
 kitchen3/tests/base_classes.py                     |   6 +-
 kitchen3/tests/test__all__.py                      |   4 +-
 kitchen3/tests/test_deprecation.py                 |   2 -
 kitchen3/tests/test_text_display.py                |   3 +-
 kitchen3/tests/test_text_misc.py                   |   2 +-
 releaseutils.py                                    |   2 +-
 setup.py                                           |   2 +-
 40 files changed, 306 insertions(+), 280 deletions(-)

diff --git a/MANIFEST.in b/MANIFEST.in
index 27430e6..aefc14b 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,7 +2,8 @@ include COPYING COPYING.LESSER
 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 --git a/NEWS.rst b/NEWS.rst
index c2121f2..2958087 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -3,11 +3,18 @@ NEWS
 ====
 
 :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 --git a/kitchen2/kitchen/__init__.py b/kitchen2/kitchen/__init__.py
index b79c0e8..3b351c3 100644
--- a/kitchen2/kitchen/__init__.py
+++ b/kitchen2/kitchen/__init__.py
@@ -35,7 +35,7 @@ from kitchen import versioning
 (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 --git a/kitchen2/kitchen/exceptions.py b/kitchen2/kitchen/exceptions.py
index d46bf51..b858d1d 100644
--- a/kitchen2/kitchen/exceptions.py
+++ b/kitchen2/kitchen/exceptions.py
@@ -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 <http://www.gnu.org/licenses/>
 #
diff --git a/kitchen2/kitchen/i18n/__init__.py b/kitchen2/kitchen/i18n/__init__.py
index 80fe3ea..a8becb4 100644
--- a/kitchen2/kitchen/i18n/__init__.py
+++ b/kitchen2/kitchen/i18n/__init__.py
@@ -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 <http://www.gnu.org/licenses/>
 #
@@ -444,7 +444,7 @@ class NewGNUTranslations(DummyTranslations, gettext.GNUTranslations):
     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 @@ def easy_gettext_setup(domain, localedirs=tuple(), use_unicode=True):
         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
     <http://docs.python.org/library/gettext.html#class-based-api>`_ for you.
     For the simple case, you can use the default arguments and call it like
diff --git a/kitchen2/kitchen/pycompat24/base64/__init__.py b/kitchen2/kitchen/pycompat24/base64/__init__.py
index ff9f75d..f5327c5 100644
--- a/kitchen2/kitchen/pycompat24/base64/__init__.py
+++ b/kitchen2/kitchen/pycompat24/base64/__init__.py
@@ -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 <http://www.gnu.org/licenses/>
 #
@@ -40,7 +40,7 @@ if sys.version_info >= (2, 4):
 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 --git a/kitchen2/kitchen/pycompat24/base64/_base64.py b/kitchen2/kitchen/pycompat24/base64/_base64.py
index 1278f1a..ca5b700 100644
--- a/kitchen2/kitchen/pycompat24/base64/_base64.py
+++ b/kitchen2/kitchen/pycompat24/base64/_base64.py
@@ -311,7 +311,7 @@ def encodestring(s):
     """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 --git a/kitchen2/kitchen/pycompat24/sets/__init__.py b/kitchen2/kitchen/pycompat24/sets/__init__.py
index 8091b9b..35628ae 100644
--- a/kitchen2/kitchen/pycompat24/sets/__init__.py
+++ b/kitchen2/kitchen/pycompat24/sets/__init__.py
@@ -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 <http://www.gnu.org/licenses/>
 #
diff --git a/kitchen2/kitchen/pycompat25/collections/_defaultdict.py b/kitchen2/kitchen/pycompat25/collections/_defaultdict.py
index 94ff7c2..a5b3e98 100644
--- a/kitchen2/kitchen/pycompat25/collections/_defaultdict.py
+++ b/kitchen2/kitchen/pycompat25/collections/_defaultdict.py
@@ -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 --git a/kitchen2/kitchen/pycompat27/subprocess/__init__.py b/kitchen2/kitchen/pycompat27/subprocess/__init__.py
index 600f81e..4f329ac 100644
--- a/kitchen2/kitchen/pycompat27/subprocess/__init__.py
+++ b/kitchen2/kitchen/pycompat27/subprocess/__init__.py
@@ -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 <http://www.gnu.org/licenses/>
 #
diff --git a/kitchen2/kitchen/pycompat27/subprocess/_subprocess.py b/kitchen2/kitchen/pycompat27/subprocess/_subprocess.py
index d88e447..cfcfea5 100644
--- a/kitchen2/kitchen/pycompat27/subprocess/_subprocess.py
+++ b/kitchen2/kitchen/pycompat27/subprocess/_subprocess.py
@@ -1187,7 +1187,7 @@ class Popen(object):
 
                             # 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 @@ class Popen(object):
 
                 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 @@ class Popen(object):
                     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 --git a/kitchen2/kitchen/text/converters.py b/kitchen2/kitchen/text/converters.py
index e4bcb0d..c770b14 100644
--- a/kitchen2/kitchen/text/converters.py
+++ b/kitchen2/kitchen/text/converters.py
@@ -693,7 +693,7 @@ def unicode_to_xml(string, encoding='utf-8', attrib=False,
 
     # 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 --git a/kitchen2/kitchen/text/display.py b/kitchen2/kitchen/text/display.py
index 81234de..a3d16dc 100644
--- a/kitchen2/kitchen/text/display.py
+++ b/kitchen2/kitchen/text/display.py
@@ -119,58 +119,72 @@ _COMBINING = (
         (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 @@ 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.6.0-rc1 with
+:data:`unicodedata.unidata_version` 9.0.0
 '''
 
 # New function from Toshio Kuratomi (LGPLv2+)
@@ -215,58 +229,58 @@ def _generate_combining_table():
     # 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 --git a/kitchen2/kitchen/text/exceptions.py b/kitchen2/kitchen/text/exceptions.py
index 74468cf..55f7261 100644
--- a/kitchen2/kitchen/text/exceptions.py
+++ b/kitchen2/kitchen/text/exceptions.py
@@ -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 <http://www.gnu.org/licenses/>
 #
diff --git a/kitchen2/kitchen/text/utf8.py b/kitchen2/kitchen/text/utf8.py
index ad2ad24..34c0d47 100644
--- a/kitchen2/kitchen/text/utf8.py
+++ b/kitchen2/kitchen/text/utf8.py
@@ -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 <http://www.gnu.org/licenses/>
 #
@@ -105,7 +105,7 @@ def utf8_width_chop(msg, chop=None):
         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 --git a/kitchen2/tests/base_classes.py b/kitchen2/tests/base_classes.py
index a61c530..0d6be7e 100644
--- a/kitchen2/tests/base_classes.py
+++ b/kitchen2/tests/base_classes.py
@@ -64,8 +64,8 @@ class UnicodeTestData(object):
     u_entity_escape = u'Test: <"&"> – ' + unicode(u_japanese.encode('ascii', 'xmlcharrefreplace'), 'ascii') + u'&#xe9;'
     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/IIAggSCCIIMghCCFIIYghyCIIIkgiiCLIIwgjSCOII8gkCCRIJIgkyCUIJUgliCXIJggmSCaIJsgnCCdIJ4gnyCgIKEgoiCjIKQgpSCmIKcgqCCpIKogqyCsIK0griCvIL [...]
@@ -77,7 +77,7 @@ round tripper. Its main feature is that it is very easy to use, with a
 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 --git a/kitchen2/tests/test__all__.py b/kitchen2/tests/test__all__.py
index dda287a..2263819 100644
--- a/kitchen2/tests/test__all__.py
+++ b/kitchen2/tests/test__all__.py
@@ -112,7 +112,7 @@ class Test__all__(object):
         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 @@ class Test__all__(object):
         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 --git a/kitchen2/tests/test_deprecation.py b/kitchen2/tests/test_deprecation.py
index 4d4c0a9..071b240 100644
--- a/kitchen2/tests/test_deprecation.py
+++ b/kitchen2/tests/test_deprecation.py
@@ -61,5 +61,3 @@ class TestPendingDeprecationParameters(unittest.TestCase):
                 i18n.get_translation_object, 'test', **{'python2_api': True})
         tools.assert_raises(PendingDeprecationWarning,
                 i18n.DummyTranslations, **{'python2_api': True})
-
-
diff --git a/kitchen2/tests/test_i18n.py b/kitchen2/tests/test_i18n.py
index cfb2988..9a3c84b 100644
--- a/kitchen2/tests/test_i18n.py
+++ b/kitchen2/tests/test_i18n.py
@@ -816,5 +816,3 @@ class TestDefaultLocaleDir(unittest.TestCase, base_classes.UnicodeTestData):
         # 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 --git a/kitchen2/tests/test_subprocess.py b/kitchen2/tests/test_subprocess.py
index 010f660..cd1ec68 100644
--- a/kitchen2/tests/test_subprocess.py
+++ b/kitchen2/tests/test_subprocess.py
@@ -215,7 +215,7 @@ class ProcessTestCase(BaseTestCase):
             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 @@ class ProcessTestCase(BaseTestCase):
         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 @@ class POSIXProcessTestCase(BaseTestCase):
         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 @@ class CommandsWithSpaces (BaseTestCase):
 
         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 @@ class CommandsWithSpaces (BaseTestCase):
         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 --git a/kitchen2/tests/test_text_display.py b/kitchen2/tests/test_text_display.py
index e530877..0403f3e 100644
--- a/kitchen2/tests/test_text_display.py
+++ b/kitchen2/tests/test_text_display.py
@@ -13,7 +13,7 @@ class TestDisplay(base_classes.UnicodeTestData, unittest.TestCase):
 
     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 @@ class TestDisplay(base_classes.UnicodeTestData, unittest.TestCase):
         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 --git a/kitchen2/tests/test_text_misc.py b/kitchen2/tests/test_text_misc.py
index 82acb17..f70feae 100644
--- a/kitchen2/tests/test_text_misc.py
+++ b/kitchen2/tests/test_text_misc.py
@@ -100,7 +100,7 @@ class TestTextMisc(unittest.TestCase, base_classes.UnicodeTestData):
     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 --git a/kitchen3/kitchen/__init__.py b/kitchen3/kitchen/__init__.py
index 1ee46d3..32739d8 100644
--- a/kitchen3/kitchen/__init__.py
+++ b/kitchen3/kitchen/__init__.py
@@ -35,7 +35,7 @@ from kitchen import versioning
 (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 --git a/kitchen3/kitchen/exceptions.py b/kitchen3/kitchen/exceptions.py
index d46bf51..b858d1d 100644
--- a/kitchen3/kitchen/exceptions.py
+++ b/kitchen3/kitchen/exceptions.py
@@ -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 <http://www.gnu.org/licenses/>
 #
diff --git a/kitchen3/kitchen/i18n/__init__.py b/kitchen3/kitchen/i18n/__init__.py
index 07eca60..538957a 100644
--- a/kitchen3/kitchen/i18n/__init__.py
+++ b/kitchen3/kitchen/i18n/__init__.py
@@ -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 <http://www.gnu.org/licenses/>
 #
@@ -443,7 +443,7 @@ class NewGNUTranslations(DummyTranslations, gettext.GNUTranslations):
     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 @@ def easy_gettext_setup(domain, localedirs=tuple(), use_unicode=True):
         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
     <http://docs.python.org/library/gettext.html#class-based-api>`_ for you.
     For the simple case, you can use the default arguments and call it like
diff --git a/kitchen3/kitchen/pycompat24/__init__.py b/kitchen3/kitchen/pycompat24/__init__.py
index 192b44a..6a27e20 100644
--- a/kitchen3/kitchen/pycompat24/__init__.py
+++ b/kitchen3/kitchen/pycompat24/__init__.py
@@ -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 --git a/kitchen3/kitchen/pycompat24/sets/__init__.py b/kitchen3/kitchen/pycompat24/sets/__init__.py
index b2d48a2..806bbd9 100644
--- a/kitchen3/kitchen/pycompat24/sets/__init__.py
+++ b/kitchen3/kitchen/pycompat24/sets/__init__.py
@@ -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 <http://www.gnu.org/licenses/>
 #
diff --git a/kitchen3/kitchen/pycompat24/subprocess.py b/kitchen3/kitchen/pycompat24/subprocess.py
index d08dfeb..6bb3f81 100644
--- a/kitchen3/kitchen/pycompat24/subprocess.py
+++ b/kitchen3/kitchen/pycompat24/subprocess.py
@@ -5,7 +5,7 @@ import kitchen.pycompat27.subprocess as __s
 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 --git a/kitchen3/kitchen/pycompat27/subprocess/__init__.py b/kitchen3/kitchen/pycompat27/subprocess/__init__.py
index cebec39..0beadb6 100644
--- a/kitchen3/kitchen/pycompat27/subprocess/__init__.py
+++ b/kitchen3/kitchen/pycompat27/subprocess/__init__.py
@@ -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 <http://www.gnu.org/licenses/>
 #
@@ -30,7 +30,7 @@ a backport of that module for use on earlier python versions.
     :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 --git a/kitchen3/kitchen/text/converters.py b/kitchen3/kitchen/text/converters.py
index 0150772..4f05482 100644
--- a/kitchen3/kitchen/text/converters.py
+++ b/kitchen3/kitchen/text/converters.py
@@ -671,7 +671,7 @@ def unicode_to_xml(string, encoding='utf-8', attrib=False,
 
     # 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 --git a/kitchen3/kitchen/text/display.py b/kitchen3/kitchen/text/display.py
index 22aa642..ba209ba 100644
--- a/kitchen3/kitchen/text/display.py
+++ b/kitchen3/kitchen/text/display.py
@@ -119,61 +119,73 @@ _COMBINING = (
         (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),
... 361 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/kitchen.git



More information about the Python-modules-commits mailing list