From 001f901ee297bb5346729a02e8920b7528e20717 Mon Sep 17 00:00:00 2001 From: Antonio Rojas Date: Mon, 17 May 2021 14:31:50 +0000 Subject: Fix doc build with Sphinx 4 --- docs/sphinx/ext/ecm.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'docs/sphinx/ext') diff --git a/docs/sphinx/ext/ecm.py b/docs/sphinx/ext/ecm.py index 8667b367..a09e4890 100644 --- a/docs/sphinx/ext/ecm.py +++ b/docs/sphinx/ext/ecm.py @@ -5,6 +5,7 @@ # # SPDX-License-Identifier: BSD-3-Clause +import html import os import re @@ -19,8 +20,11 @@ CMakeLexer.tokens["args"].append(('(\\$<)(.+?)(>)', # Monkey patch for sphinx generating invalid content for qcollectiongenerator # https://bitbucket.org/birkenfeld/sphinx/issue/1435/qthelp-builder-should-htmlescape-keywords -from sphinx.util.pycompat import htmlescape -from sphinx.builders.qthelp import QtHelpBuilder +try: + from sphinxcontrib.qthelp import QtHelpBuilder +except ImportError: + # sphinx < 4.0 + from sphinx.builders.qthelp import QtHelpBuilder old_build_keywords = QtHelpBuilder.build_keywords def new_build_keywords(self, title, refs, subitems): old_items = old_build_keywords(self, title, refs, subitems) @@ -29,13 +33,12 @@ def new_build_keywords(self, title, refs, subitems): before, rest = item.split("ref=\"", 1) ref, after = rest.split("\"") if ("<" in ref and ">" in ref): - new_items.append(before + "ref=\"" + htmlescape(ref) + "\"" + after) + new_items.append(before + "ref=\"" + html.escape(ref) + "\"" + after) else: new_items.append(item) return new_items QtHelpBuilder.build_keywords = new_build_keywords - from docutils.parsers.rst import Directive, directives from docutils.transforms import Transform try: @@ -127,7 +130,7 @@ class _ecm_index_entry: self.desc = desc def __call__(self, title, targetid): - return ('pair', u'%s ; %s' % (self.desc, title), targetid, 'main') + return ('pair', u'%s ; %s' % (self.desc, title), targetid, 'main', None) _ecm_index_objs = { 'manual': _ecm_index_entry('manual'), -- cgit v1.2.1