summaryrefslogtreecommitdiff
path: root/blessings/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'blessings/__init__.py')
-rw-r--r--blessings/__init__.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/blessings/__init__.py b/blessings/__init__.py
index 9e10ebc..388cece 100644
--- a/blessings/__init__.py
+++ b/blessings/__init__.py
@@ -5,6 +5,7 @@ from contextlib import contextmanager
import curses
from curses import setupterm, tigetnum, tigetstr, tparm
from fcntl import ioctl
+from six import text_type, string_types
try:
from io import UnsupportedOperation as IOUnsupportedOperation
@@ -420,7 +421,7 @@ COMPOUNDABLES = (COLORS |
'shadow', 'standout', 'subscript', 'superscript']))
-class ParametrizingString(unicode):
+class ParametrizingString(text_type):
"""A Unicode string which can be called to parametrize it as a terminal
capability"""
@@ -432,7 +433,7 @@ class ParametrizingString(unicode):
"normal" capability.
"""
- new = unicode.__new__(cls, formatting)
+ new = text_type.__new__(cls, formatting)
new._normal = normal
return new
@@ -461,7 +462,7 @@ class ParametrizingString(unicode):
except TypeError:
# If the first non-int (i.e. incorrect) arg was a string, suggest
# something intelligent:
- if len(args) == 1 and isinstance(args[0], basestring):
+ if len(args) == 1 and isinstance(args[0], string_types):
raise TypeError(
'A native or nonexistent capability template received '
'%r when it was expecting ints. You probably misspelled a '
@@ -472,12 +473,12 @@ class ParametrizingString(unicode):
raise
-class FormattingString(unicode):
+class FormattingString(text_type):
"""A Unicode string which can be called upon a piece of text to wrap it in
formatting"""
def __new__(cls, formatting, normal):
- new = unicode.__new__(cls, formatting)
+ new = text_type.__new__(cls, formatting)
new._normal = normal
return new
@@ -492,7 +493,7 @@ class FormattingString(unicode):
return self + text + self._normal
-class NullCallableString(unicode):
+class NullCallableString(text_type):
"""A dummy callable Unicode to stand in for ``FormattingString`` and
``ParametrizingString``
@@ -500,7 +501,7 @@ class NullCallableString(unicode):
"""
def __new__(cls):
- new = unicode.__new__(cls, u'')
+ new = text_type.__new__(cls, u'')
return new
def __call__(self, *args):