summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshimizukawa <shimizukawa@gmail.com>2013-12-15 16:25:01 +0900
committershimizukawa <shimizukawa@gmail.com>2013-12-15 16:25:01 +0900
commit22bff8279d4d2d0096152337ae2b6b3951f92e29 (patch)
treec842781bd53c01f5da8b9f5239632616cef0318c
parent8b375619a7a91d26f07f1ba944757700ae82827f (diff)
downloadsphinx-22bff8279d4d2d0096152337ae2b6b3951f92e29.tar.gz
Drop docutils-0.7, 0.8 and 0.9 support
-rw-r--r--doc/builders.rst3
-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, 18 insertions, 70 deletions
diff --git a/doc/builders.rst b/doc/builders.rst
index 1297a08e..e449e110 100644
--- a/doc/builders.rst
+++ b/doc/builders.rst
@@ -135,8 +135,7 @@ Note that a direct PDF builder using ReportLab is available in `rst2pdf
.. note::
- This builder requires the docutils manual page writer, which is only
- available as of docutils 0.6.
+ This builder requires the docutils manual page writer.
.. versionadded:: 1.0
diff --git a/doc/intro.rst b/doc/intro.rst
index b2c25023..43e37b54 100644
--- a/doc/intro.rst
+++ b/doc/intro.rst
@@ -51,7 +51,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 53a4c04b..0f6835b3 100644
--- a/setup.py
+++ b/setup.py
@@ -48,10 +48,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 bbd45b24..7fa3bfe9 100644
--- a/sphinx/__init__.py
+++ b/sphinx/__init__.py
@@ -71,12 +71,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 7783f8b8..e3bf05e5 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 35e9d297..38fd08a5 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 da9b4be6..9373b331 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 f652e918..406f3ff5 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 006819ef..0840e45a 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=
@@ -12,31 +12,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