manpage writer: write MACRO_DEF only with Docutils < 0.11

(as current docutils >= r7607 writes it itself)
This commit is contained in:
Dmitry Shachnev 2013-04-07 19:46:13 +04:00
parent d234f3b4f3
commit cc8d3844a7

View File

@ -10,6 +10,7 @@
""" """
from docutils import nodes from docutils import nodes
from docutils import __version__ as docutils_version
try: try:
from docutils.writers.manpage import MACRO_DEF, Writer, \ from docutils.writers.manpage import MACRO_DEF, Writer, \
Translator as BaseTranslator Translator as BaseTranslator
@ -22,6 +23,7 @@ except ImportError:
from sphinx import addnodes from sphinx import addnodes
from sphinx.locale import admonitionlabels, _ from sphinx.locale import admonitionlabels, _
from sphinx.util.osutil import ustrftime from sphinx.util.osutil import ustrftime
from distutils.version import LooseVersion
class ManualPageWriter(Writer): class ManualPageWriter(Writer):
@ -69,7 +71,8 @@ class ManualPageTranslator(BaseTranslator):
self._docinfo['version'] = builder.config.version self._docinfo['version'] = builder.config.version
self._docinfo['manual_group'] = builder.config.project self._docinfo['manual_group'] = builder.config.project
# since self.append_header() is never called, need to do this here # In docutils < 0.11 self.append_header() was never called
if LooseVersion(docutils_version) < LooseVersion('0.11'):
self.body.append(MACRO_DEF) self.body.append(MACRO_DEF)
# Overwrite admonition label translations with our own # Overwrite admonition label translations with our own