summaryrefslogtreecommitdiff
path: root/docutils
diff options
context:
space:
mode:
authormilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2019-08-26 12:12:32 +0000
committermilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2019-08-26 12:12:32 +0000
commitd0cbc06ea65c895e43d9c37da6817bbd3fd8a164 (patch)
tree39561c6238ffc76b3831a0e995cf4fbd84d5d023 /docutils
parent295c5bfcada570eed9a44a2a312ad80a84262c55 (diff)
downloaddocutils-d0cbc06ea65c895e43d9c37da6817bbd3fd8a164.tar.gz
py3: Add aliases for removed symbols
Add aliases for symbols that have been removed in Python 3.x, namely basestring, unicode, unichr and StandardError. Signed-off-by: Stephen Finucane <stephen@that.guru> small fixes by Günter Milde. git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@8348 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils')
-rw-r--r--docutils/docutils/__init__.py3
-rw-r--r--docutils/docutils/frontend.py3
-rw-r--r--docutils/docutils/io.py3
-rw-r--r--docutils/docutils/nodes.py8
-rw-r--r--docutils/docutils/parsers/rst/directives/__init__.py3
-rw-r--r--docutils/docutils/statemachine.py10
-rw-r--r--docutils/docutils/transforms/frontmatter.py6
-rw-r--r--docutils/docutils/transforms/universal.py5
-rw-r--r--docutils/docutils/utils/__init__.py3
-rw-r--r--docutils/docutils/utils/error_reporting.py10
-rw-r--r--docutils/docutils/utils/math/math2html.py59
-rw-r--r--docutils/docutils/writers/_html_base.py4
-rw-r--r--docutils/docutils/writers/docutils_xml.py3
-rw-r--r--docutils/docutils/writers/latex2e/__init__.py4
-rw-r--r--docutils/docutils/writers/manpage.py6
-rw-r--r--docutils/test/DocutilsTestSupport.py4
-rw-r--r--docutils/test/test__init__.py4
-rw-r--r--docutils/test/test_error_reporting.py3
-rwxr-xr-xdocutils/test/test_language.py7
-rwxr-xr-xdocutils/test/test_nodes.py3
-rwxr-xr-xdocutils/test/test_parsers/test_rst/test_directives/test_include.py5
-rwxr-xr-xdocutils/test/test_parsers/test_rst/test_directives/test_tables.py5
-rwxr-xr-xdocutils/test/test_parsers/test_rst/test_directives/test_unicode.py6
-rwxr-xr-xdocutils/tools/dev/create_unimap.py10
24 files changed, 115 insertions, 62 deletions
diff --git a/docutils/docutils/__init__.py b/docutils/docutils/__init__.py
index d96c045d1..5f6a0877b 100644
--- a/docutils/docutils/__init__.py
+++ b/docutils/docutils/__init__.py
@@ -88,7 +88,8 @@ __version_details__ = 'release'
"""
-class ApplicationError(StandardError): pass
+class ApplicationError(Exception): pass
+
class DataError(ApplicationError): pass
diff --git a/docutils/docutils/frontend.py b/docutils/docutils/frontend.py
index 94641c677..699dcbcbc 100644
--- a/docutils/docutils/frontend.py
+++ b/docutils/docutils/frontend.py
@@ -43,6 +43,9 @@ import docutils.nodes
from docutils.utils.error_reporting import (locale_encoding, SafeString,
ErrorOutput, ErrorString)
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
def store_multiple(option, opt, value, parser, *args, **kwargs):
"""
diff --git a/docutils/docutils/io.py b/docutils/docutils/io.py
index dee53743d..fffc5b359 100644
--- a/docutils/docutils/io.py
+++ b/docutils/docutils/io.py
@@ -17,6 +17,9 @@ import codecs
from docutils import TransformSpec
from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
class InputError(IOError): pass
class OutputError(IOError): pass
diff --git a/docutils/docutils/nodes.py b/docutils/docutils/nodes.py
index 7dcdbb1b8..0b73eabe2 100644
--- a/docutils/docutils/nodes.py
+++ b/docutils/docutils/nodes.py
@@ -30,6 +30,10 @@ import warnings
import types
import unicodedata
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+ basestring = str # noqa
+
# ==============================
# Functional Node Base Classes
# ==============================
@@ -61,7 +65,7 @@ class Node(object):
"""
return True
- if sys.version_info < (3,):
+ if sys.version_info < (3, 0):
# on 2.x, str(node) will be a byte string with Unicode
# characters > 255 escaped; on 3.x this is no longer necessary
def __str__(self):
@@ -301,7 +305,7 @@ class Node(object):
except IndexError:
return None
-if sys.version_info < (3,):
+if sys.version_info < (3, 0):
class reprunicode(unicode):
"""
A unicode sub-class that removes the initial u from unicode's repr.
diff --git a/docutils/docutils/parsers/rst/directives/__init__.py b/docutils/docutils/parsers/rst/directives/__init__.py
index 6f4211b74..6b6e022f7 100644
--- a/docutils/docutils/parsers/rst/directives/__init__.py
+++ b/docutils/docutils/parsers/rst/directives/__init__.py
@@ -16,6 +16,9 @@ from docutils import nodes
from docutils.utils import split_escaped_whitespace, escape2null, unescape
from docutils.parsers.rst.languages import en as _fallback_language_module
+if sys.version_info >= (3, 0):
+ unichr = chr # noqa
+
_directive_registry = {
'attention': ('admonitions', 'Attention'),
diff --git a/docutils/docutils/statemachine.py b/docutils/docutils/statemachine.py
index b3b5524d6..e607a1fb7 100644
--- a/docutils/docutils/statemachine.py
+++ b/docutils/docutils/statemachine.py
@@ -114,6 +114,9 @@ import unicodedata
from docutils import utils
from docutils.utils.error_reporting import ErrorOutput
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
class StateMachine(object):
@@ -1124,7 +1127,12 @@ class ViewList(object):
def __ne__(self, other): return self.data != self.__cast(other)
def __gt__(self, other): return self.data > self.__cast(other)
def __ge__(self, other): return self.data >= self.__cast(other)
- def __cmp__(self, other): return cmp(self.data, self.__cast(other))
+
+ def __cmp__(self, other):
+ # from https://docs.python.org/3.0/whatsnew/3.0.html
+ mine = self.data
+ yours = self.__cast(other)
+ return (mine > yours) - (yours < mine)
def __cast(self, other):
if isinstance(other, ViewList):
diff --git a/docutils/docutils/transforms/frontmatter.py b/docutils/docutils/transforms/frontmatter.py
index 8f7a72aa2..fc4427946 100644
--- a/docutils/docutils/transforms/frontmatter.py
+++ b/docutils/docutils/transforms/frontmatter.py
@@ -22,10 +22,16 @@ Transforms related to the front matter of a document or a section
__docformat__ = 'reStructuredText'
import re
+import sys
+
from docutils import nodes, utils
from docutils.transforms import TransformError, Transform
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
+
class TitlePromoter(Transform):
"""
diff --git a/docutils/docutils/transforms/universal.py b/docutils/docutils/transforms/universal.py
index fa39215cc..8e71842b1 100644
--- a/docutils/docutils/transforms/universal.py
+++ b/docutils/docutils/transforms/universal.py
@@ -17,12 +17,17 @@ Transforms needed by most or all documents:
__docformat__ = 'reStructuredText'
import re
+import sys
import time
from docutils import nodes, utils
from docutils.transforms import TransformError, Transform
from docutils.utils import smartquotes
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
+
class Decorations(Transform):
"""
diff --git a/docutils/docutils/utils/__init__.py b/docutils/docutils/utils/__init__.py
index 4809f3ef0..e61b94878 100644
--- a/docutils/docutils/utils/__init__.py
+++ b/docutils/docutils/utils/__init__.py
@@ -22,6 +22,9 @@ from docutils.nodes import unescape
import docutils.io
from docutils.utils.error_reporting import ErrorOutput, SafeString
+if sys.version_info >= (3, 0):
+ unicode = str
+
class SystemMessage(ApplicationError):
diff --git a/docutils/docutils/utils/error_reporting.py b/docutils/docutils/utils/error_reporting.py
index 253427b61..c7511e371 100644
--- a/docutils/docutils/utils/error_reporting.py
+++ b/docutils/docutils/utils/error_reporting.py
@@ -35,7 +35,8 @@ The `SafeString`, `ErrorString` and `ErrorOutput` classes handle
common exceptions.
"""
-import sys, codecs
+import codecs
+import sys
# Guess the locale's encoding.
# If no valid guess can be made, locale_encoding is set to `None`:
@@ -64,6 +65,9 @@ else:
locale_encoding = None
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
class SafeString(object):
"""
@@ -199,9 +203,9 @@ class ErrorOutput(object):
self.stream.write(data)
except UnicodeEncodeError:
self.stream.write(data.encode(self.encoding, self.encoding_errors))
- except TypeError:
+ except TypeError:
if isinstance(data, unicode): # passed stream may expect bytes
- self.stream.write(data.encode(self.encoding,
+ self.stream.write(data.encode(self.encoding,
self.encoding_errors))
return
if self.stream in (sys.stderr, sys.stdout):
diff --git a/docutils/docutils/utils/math/math2html.py b/docutils/docutils/utils/math/math2html.py
index 1f61e23f8..49671655c 100644
--- a/docutils/docutils/utils/math/math2html.py
+++ b/docutils/docutils/utils/math/math2html.py
@@ -20,10 +20,21 @@
# Alex 20101110
# eLyXer standalone formula conversion to HTML.
+import codecs
+import datetime
+import gettext
+import io
+import os.path
+import sys
+import unicodedata
+import urllib
+if sys.version_info >= (3,0):
+ unicode = str #noqa
+ basestring = str # noqa
+ file = io.IOBase # noqa
-import sys
class Trace(object):
"A tracing class"
@@ -73,12 +84,6 @@ class Trace(object):
show = classmethod(show)
-
-
-import os.path
-import sys
-
-
class BibStylesConfig(object):
"Configuration class from elyxer.config file"
@@ -1305,17 +1310,6 @@ class BranchOptions(object):
return 'options for ' + self.name + ': ' + unicode(self.options)
-
-
-import urllib
-
-
-
-
-
-
-
-
class Cloner(object):
"An object used to clone other objects."
@@ -1699,15 +1693,6 @@ class StringOutput(ContainerOutput):
return [container.string]
-
-
-
-
-
-import sys
-import codecs
-
-
class LineReader(object):
"Reads a file line by line"
@@ -3094,24 +3079,6 @@ class FormulaFactory(object):
return whole
-
-
-import unicodedata
-
-
-
-
-
-
-
-
-
-
-
-
-import gettext
-
-
class Translator(object):
"Reads the configuration file and tries to find a translation."
"Otherwise falls back to the messages in the config file."
@@ -4589,8 +4556,6 @@ class BeginCommand(CommandBit):
FormulaCommand.types += [BeginCommand]
-import datetime
-
class CombiningFunction(OneParamFunction):
diff --git a/docutils/docutils/writers/_html_base.py b/docutils/docutils/writers/_html_base.py
index 28464517b..6ab0c1615 100644
--- a/docutils/docutils/writers/_html_base.py
+++ b/docutils/docutils/writers/_html_base.py
@@ -40,6 +40,10 @@ from docutils.utils.math import (unichar2tex, pick_math_environment,
math2html, latex2mathml, tex2mathml_extern)
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
+
class Writer(writers.Writer):
supported = ('html', 'xhtml') # update in subclass
diff --git a/docutils/docutils/writers/docutils_xml.py b/docutils/docutils/writers/docutils_xml.py
index eb28ab21b..194f21c62 100644
--- a/docutils/docutils/writers/docutils_xml.py
+++ b/docutils/docutils/writers/docutils_xml.py
@@ -17,6 +17,9 @@ from StringIO import StringIO
import docutils
from docutils import frontend, writers, nodes
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
class RawXmlError(docutils.ApplicationError): pass
diff --git a/docutils/docutils/writers/latex2e/__init__.py b/docutils/docutils/writers/latex2e/__init__.py
index 474feed3e..62b52731c 100644
--- a/docutils/docutils/writers/latex2e/__init__.py
+++ b/docutils/docutils/writers/latex2e/__init__.py
@@ -28,6 +28,10 @@ from docutils.transforms import writer_aux
from docutils.utils.math import pick_math_environment, unichar2tex
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
+
class Writer(writers.Writer):
supported = ('latex','latex2e')
diff --git a/docutils/docutils/writers/manpage.py b/docutils/docutils/writers/manpage.py
index e1458070f..a194d962d 100644
--- a/docutils/docutils/writers/manpage.py
+++ b/docutils/docutils/writers/manpage.py
@@ -45,6 +45,10 @@ by the command whatis or apropos.
__docformat__ = 'reStructuredText'
import re
+import sys
+
+if sys.version_info < (3, 0):
+ range = xrange
import docutils
from docutils import nodes, writers, languages
@@ -255,7 +259,7 @@ class Translator(nodes.NodeVisitor):
# ensure we get a ".TH" as viewers require it.
self.append_header()
# filter body
- for i in xrange(len(self.body)-1, 0, -1):
+ for i in range(len(self.body)-1, 0, -1):
# remove superfluous vertical gaps.
if self.body[i] == '.sp\n':
if self.body[i - 1][:4] in ('.BI ','.IP '):
diff --git a/docutils/test/DocutilsTestSupport.py b/docutils/test/DocutilsTestSupport.py
index b26fc44d8..eb9b8fa39 100644
--- a/docutils/test/DocutilsTestSupport.py
+++ b/docutils/test/DocutilsTestSupport.py
@@ -89,6 +89,10 @@ except:
import pdb
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
+
# Hack to make repr(StringList) look like repr(list):
StringList.__repr__ = StringList.__str__
diff --git a/docutils/test/test__init__.py b/docutils/test/test__init__.py
index f23c1f201..c66f97a02 100644
--- a/docutils/test/test__init__.py
+++ b/docutils/test/test__init__.py
@@ -16,6 +16,10 @@ import docutils
import docutils.utils
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
+
class ApplicationErrorTests(unittest.TestCase):
def test_message(self):
diff --git a/docutils/test/test_error_reporting.py b/docutils/test/test_error_reporting.py
index 400e40ad7..41dbfc5df 100644
--- a/docutils/test/test_error_reporting.py
+++ b/docutils/test/test_error_reporting.py
@@ -44,6 +44,9 @@ if sys.version_info < (3, 0): # problems solved in py3k
print('cannot test error reporting with problematic locales,\n'
'`import locale` failed.')
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
# locales confirmed to use non-ASCII chars in the IOError message
# for a missing file (https://bugs.gentoo.org/show_bug.cgi?id=349101)
diff --git a/docutils/test/test_language.py b/docutils/test/test_language.py
index 69fb36c0f..920d1b4e9 100755
--- a/docutils/test/test_language.py
+++ b/docutils/test/test_language.py
@@ -26,6 +26,9 @@ _reporter = docutils.utils.new_reporter('', _settings)
reference_language = 'en'
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
class LanguageTestSuite(DocutilsTestSupport.CustomTestSuite):
@@ -156,7 +159,7 @@ class LanguageTestCase(DocutilsTestSupport.CustomTestCase):
if failures:
text = ('Module docutils.parsers.rst.languages.%s:\n %s'
% (self.language, '\n '.join(failures)))
- if type(text) is unicode:
+ if isinstance(text, unicode):
text = text.encode('raw_unicode_escape')
self.fail(text)
@@ -191,7 +194,7 @@ class LanguageTestCase(DocutilsTestSupport.CustomTestCase):
if failures:
text = ('Module docutils.parsers.rst.languages.%s:\n %s'
% (self.language, '\n '.join(failures)))
- if type(text) is unicode:
+ if isinstance(text, unicode):
text = text.encode('raw_unicode_escape')
self.fail(text)
diff --git a/docutils/test/test_nodes.py b/docutils/test/test_nodes.py
index 1badfd391..84da41f2c 100755
--- a/docutils/test/test_nodes.py
+++ b/docutils/test/test_nodes.py
@@ -17,6 +17,9 @@ from DocutilsTestSupport import nodes, utils
debug = False
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+
class TextTests(unittest.TestCase):
diff --git a/docutils/test/test_parsers/test_rst/test_directives/test_include.py b/docutils/test/test_parsers/test_rst/test_directives/test_include.py
index 3dc775f3c..acd31e00b 100755
--- a/docutils/test/test_parsers/test_rst/test_directives/test_include.py
+++ b/docutils/test/test_parsers/test_rst/test_directives/test_include.py
@@ -14,6 +14,11 @@ from __init__ import DocutilsTestSupport
from docutils.parsers.rst import states
from docutils.utils.code_analyzer import with_pygments
+
+if sys.version_info >= (3, 0):
+ unichr = chr # noqa
+
+
def suite():
s = DocutilsTestSupport.ParserTestSuite()
if not with_pygments:
diff --git a/docutils/test/test_parsers/test_rst/test_directives/test_tables.py b/docutils/test/test_parsers/test_rst/test_directives/test_tables.py
index a6a02f5fb..b187df32f 100755
--- a/docutils/test/test_parsers/test_rst/test_directives/test_tables.py
+++ b/docutils/test/test_parsers/test_rst/test_directives/test_tables.py
@@ -17,6 +17,11 @@ import platform
from docutils.parsers.rst.directives import tables
+if sys.version_info >= (3, 0):
+ unicode = str # noqa
+ unichr = chr # noqa
+
+
def suite():
s = DocutilsTestSupport.ParserTestSuite()
s.generateTests(totest)
diff --git a/docutils/test/test_parsers/test_rst/test_directives/test_unicode.py b/docutils/test/test_parsers/test_rst/test_directives/test_unicode.py
index 54ad6ff29..2d341d58a 100755
--- a/docutils/test/test_parsers/test_rst/test_directives/test_unicode.py
+++ b/docutils/test/test_parsers/test_rst/test_directives/test_unicode.py
@@ -8,9 +8,15 @@
Tests for misc.py "unicode" directive.
"""
+import sys
+
from __init__ import DocutilsTestSupport
+if sys.version_info >= (3, 0):
+ unichr = chr # noqa
+
+
def suite():
s = DocutilsTestSupport.ParserTestSuite()
s.generateTests(totest)
diff --git a/docutils/tools/dev/create_unimap.py b/docutils/tools/dev/create_unimap.py
index b905f34f0..e08dbea9c 100755
--- a/docutils/tools/dev/create_unimap.py
+++ b/docutils/tools/dev/create_unimap.py
@@ -14,15 +14,15 @@ from xml.dom import minidom
import sys
import pprint
-if sys.version_info >= (3,0):
- unicode = str
+if sys.version_info >= (3, 0):
+ unicode = str #noqa
else:
- bytes = str
- chr = unichr
+ bytes = str # noqa
+ chr = unichr # noqa
def w(s):
- if sys.version_info >= (3,0) and isinstance(s, unicode):
+ if sys.version_info >= (3, 0) and isinstance(s, unicode):
s = s.encode('utf8')
sys.stdout.write(s)