summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2014-03-01 08:20:21 +0100
committerGeorg Brandl <georg@python.org>2014-03-01 08:20:21 +0100
commitdf61586c5bc6c03eced862a30c92272830d5ad3e (patch)
treedcad09ac8b3293dbc1b43ae6de2e571acc24d389
parent238101f8739eee4bd74bd49609225ec12f674d63 (diff)
parentd052523421497a756449a78c7077ed53aab92139 (diff)
downloadsphinx-df61586c5bc6c03eced862a30c92272830d5ad3e.tar.gz
Merged in shimizukawa/sphinx-drop-old-docutils (pull request #206)
Drop docutils-0.7, 0.8, 0.9 support.
-rw-r--r--doc/builders.rst5
-rw-r--r--doc/intro.rst2
-rw-r--r--setup.py5
-rw-r--r--sphinx/__init__.py12
-rw-r--r--sphinx/builders/manpage.py5
-rw-r--r--sphinx/transforms.py5
-rw-r--r--sphinx/util/nodes.py21
-rw-r--r--sphinx/writers/manpage.py13
-rw-r--r--tox.ini22
9 files changed, 17 insertions, 73 deletions
diff --git a/doc/builders.rst b/doc/builders.rst
index 00f4e223..2dbbb188 100644
--- a/doc/builders.rst
+++ b/doc/builders.rst
@@ -133,11 +133,6 @@ for details.
Its name is ``man``.
- .. note::
-
- This builder requires the docutils manual page writer, which is only
- available as of docutils 0.6.
-
.. versionadded:: 1.0
diff --git a/doc/intro.rst b/doc/intro.rst
index dd541bf1..a796d937 100644
--- a/doc/intro.rst
+++ b/doc/intro.rst
@@ -55,7 +55,7 @@ Prerequisites
-------------
Sphinx needs at least **Python 2.6** or **Python 3.2** to run, as well as the
-docutils_ and Jinja2_ libraries. Sphinx should work with docutils version 0.7
+docutils_ and Jinja2_ libraries. Sphinx should work with docutils version 0.10
or some (not broken) SVN trunk snapshot. If you like to have source code
highlighting support, you must also install the Pygments_ library.
diff --git a/setup.py b/setup.py
index 21f6709e..ec7bb8f3 100644
--- a/setup.py
+++ b/setup.py
@@ -45,10 +45,7 @@ if sys.version_info < (2, 6) or (3, 0) <= sys.version_info < (3, 2):
print('ERROR: Sphinx requires at least Python 2.6 or 3.2 to run.')
sys.exit(1)
-requires = ['Pygments>=1.2', 'docutils>=0.7']
-
-if sys.version_info[:3] >= (3, 3, 0):
- requires[1] = 'docutils>=0.10'
+requires = ['Pygments>=1.2', 'docutils>=0.10']
if (3, 0) <= sys.version_info < (3, 3):
requires.append('Jinja2>=2.3,<2.7')
diff --git a/sphinx/__init__.py b/sphinx/__init__.py
index 7faebbd0..712bfeca 100644
--- a/sphinx/__init__.py
+++ b/sphinx/__init__.py
@@ -72,12 +72,12 @@ def main(argv=sys.argv):
sys.stderr.write(hint)
return 1
raise
- if sys.version_info[:3] >= (3, 3, 0):
- from sphinx.util.compat import docutils_version
- if docutils_version < (0, 10):
- sys.stderr.write('Error: Sphinx requires at least '
- 'Docutils 0.10 for Python 3.3 and above.\n')
- return 1
+
+ from sphinx.util.compat import docutils_version
+ if docutils_version < (0, 10):
+ sys.stderr.write('Error: Sphinx requires at least Docutils 0.10 to '
+ 'run.\n')
+ return 1
return cmdline.main(argv)
diff --git a/sphinx/builders/manpage.py b/sphinx/builders/manpage.py
index 4de82a75..4b360cde 100644
--- a/sphinx/builders/manpage.py
+++ b/sphinx/builders/manpage.py
@@ -20,7 +20,7 @@ from sphinx.builders import Builder
from sphinx.environment import NoUri
from sphinx.util.nodes import inline_all_toctrees
from sphinx.util.console import bold, darkgreen
-from sphinx.writers.manpage import ManualPageWriter, has_manpage_writer
+from sphinx.writers.manpage import ManualPageWriter
class ManualPageBuilder(Builder):
@@ -32,9 +32,6 @@ class ManualPageBuilder(Builder):
supported_image_types = []
def init(self):
- if not has_manpage_writer:
- raise SphinxError('The docutils manual page writer can\'t be '
- 'found; it is only available as of docutils 0.6.')
if not self.config.man_pages:
self.warn('no "man_pages" config value found; no manual pages '
'will be written')
diff --git a/sphinx/transforms.py b/sphinx/transforms.py
index 49c00999..ec3dd727 100644
--- a/sphinx/transforms.py
+++ b/sphinx/transforms.py
@@ -142,10 +142,7 @@ class CustomLocaleReporter(object):
self.source, self.line = source, line
def set_reporter(self, document):
- if docutils_version < (0, 9):
- document.reporter.locator = self.get_source_and_line
- else:
- document.reporter.get_source_and_line = self.get_source_and_line
+ document.reporter.get_source_and_line = self.get_source_and_line
def get_source_and_line(self, lineno=None):
return self.source, self.line
diff --git a/sphinx/util/nodes.py b/sphinx/util/nodes.py
index 1be70da4..ca8fa2ac 100644
--- a/sphinx/util/nodes.py
+++ b/sphinx/util/nodes.py
@@ -223,12 +223,7 @@ def set_source_info(directive, node):
directive.state_machine.get_source_and_line(directive.lineno)
def set_role_source_info(inliner, lineno, node):
- try:
- node.source, node.line = \
- inliner.reporter.locator(lineno)
- except AttributeError:
- # docutils 0.9+
- node.source, node.line = inliner.reporter.get_source_and_line(lineno)
+ node.source, node.line = inliner.reporter.get_source_and_line(lineno)
# monkey-patch Element.copy to copy the rawsource
@@ -236,17 +231,3 @@ def _new_copy(self):
return self.__class__(self.rawsource, **self.attributes)
nodes.Element.copy = _new_copy
-
-# monkey-patch Element.__repr__ to return str if it returns unicode.
-# Was fixed in docutils since 0.10. See sf.net/p/docutils/bugs/218/.
-
-if sys.version_info < (3,):
- _element_repr_orig = nodes.Element.__repr__
-
- def _new_repr(self):
- s = _element_repr_orig(self)
- if isinstance(s, unicode):
- return s.encode('utf-8')
- return s
-
- nodes.Element.__repr__ = _new_repr
diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py
index db4d4f06..050f71d8 100644
--- a/sphinx/writers/manpage.py
+++ b/sphinx/writers/manpage.py
@@ -10,14 +10,11 @@
"""
from docutils import nodes
-try:
- from docutils.writers.manpage import MACRO_DEF, Writer, \
- Translator as BaseTranslator
- has_manpage_writer = True
-except ImportError:
- # define the classes in any case, sphinx.application needs it
- Writer = BaseTranslator = object
- has_manpage_writer = False
+from docutils.writers.manpage import (
+ MACRO_DEF,
+ Writer,
+ Translator as BaseTranslator
+)
from sphinx import addnodes
from sphinx.locale import admonitionlabels, _
diff --git a/tox.ini b/tox.ini
index ee8ce791..6d09f305 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist=py26,py27,py32,py33,pypy,du11,du10,du09,du08,du07
+envlist=py26,py27,py32,py33,pypy,du11,du10
[testenv]
deps=
@@ -13,31 +13,11 @@ commands=
{envpython} tests/run.py {posargs}
sphinx-build -W -b html -d {envtmpdir}/doctrees doc {envtmpdir}/html
-[testenv:py33]
-deps=
- docutils>=0.10.0
- {[testenv]deps}
-
[testenv:pypy]
deps=
simplejson
{[testenv]deps}
-[testenv:du07]
-deps=
- docutils==0.7
- {[testenv]deps}
-
-[testenv:du08]
-deps=
- docutils==0.8.1
- {[testenv]deps}
-
-[testenv:du09]
-deps=
- docutils==0.9.1
- {[testenv]deps}
-
[testenv:du10]
deps=
docutils==0.10