doc-rst:c-domain: fix sphinx version incompatibility

The self.indexnode's tuple has changed in sphinx version 1.4, from a
former 4 element tuple to a 5 element tuple.

e6a5a3a92e

Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Markus Heiser 2016-09-07 09:12:56 +02:00 committed by Jonathan Corbet
parent 3d8819b761
commit b495360e30
1 changed files with 12 additions and 2 deletions

View File

@ -29,11 +29,15 @@ u"""
from docutils.parsers.rst import directives from docutils.parsers.rst import directives
import sphinx
from sphinx.domains.c import CObject as Base_CObject from sphinx.domains.c import CObject as Base_CObject
from sphinx.domains.c import CDomain as Base_CDomain from sphinx.domains.c import CDomain as Base_CDomain
__version__ = '1.0' __version__ = '1.0'
# Get Sphinx version
major, minor, patch = map(int, sphinx.__version__.split("."))
def setup(app): def setup(app):
app.override_domain(CDomain) app.override_domain(CDomain)
@ -85,8 +89,14 @@ class CObject(Base_CObject):
indextext = self.get_index_text(name) indextext = self.get_index_text(name)
if indextext: if indextext:
self.indexnode['entries'].append(('single', indextext, if major == 1 and minor < 4:
targetname, '', None)) # indexnode's tuple changed in 1.4
# https://github.com/sphinx-doc/sphinx/commit/e6a5a3a92e938fcd75866b4227db9e0524d58f7c
self.indexnode['entries'].append(
('single', indextext, targetname, ''))
else:
self.indexnode['entries'].append(
('single', indextext, targetname, '', None))
class CDomain(Base_CDomain): class CDomain(Base_CDomain):