summaryrefslogtreecommitdiff
path: root/Utilities/Sphinx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-10-10 16:21:35 -0400
committerBrad King <brad.king@kitware.com>2022-10-11 10:01:12 -0400
commit294b6db53345fa97913ae6b5df0208337cb6b4a6 (patch)
tree60551fe2e313db9576c3dabc96ba390a12afa4f3 /Utilities/Sphinx
parent450723796017d0f20f8b054d58218d7c4151a88a (diff)
downloadcmake-294b6db53345fa97913ae6b5df0208337cb6b4a6.tar.gz
Utilities/Sphinx: Avoid deprecated docutils error handling helpers
The `SafeString` and `ErrorString` classes are deprecated and will be removed in Docutils 0.21 or later. They help avoid encoding errors during exception handling in Python <= 2.7, but these days we always use Python 3 to build the documentation, at least during development, when error cases are most likely to occur. Fixes: #24039
Diffstat (limited to 'Utilities/Sphinx')
-rw-r--r--Utilities/Sphinx/cmake.py18
1 files changed, 6 insertions, 12 deletions
diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py
index 9215e14986..c7b1233509 100644
--- a/Utilities/Sphinx/cmake.py
+++ b/Utilities/Sphinx/cmake.py
@@ -59,12 +59,6 @@ CMakeLexer.tokens["root"] = [
from docutils.parsers.rst import Directive, directives
from docutils.transforms import Transform
-try:
- from docutils.utils.error_reporting import SafeString, ErrorString
-except ImportError:
- # error_reporting was not in utils before version 0.11:
- from docutils.error_reporting import SafeString, ErrorString
-
from docutils import io, nodes
from sphinx.directives import ObjectDescription
@@ -130,13 +124,13 @@ class CMakeModule(Directive):
f = io.FileInput(source_path=path, encoding=encoding,
error_handler=e_handler)
except UnicodeEncodeError as error:
- raise self.severe('Problems with "%s" directive path:\n'
- 'Cannot encode input file path "%s" '
- '(wrong locale?).' %
- (self.name, SafeString(path)))
+ msg = ('Problems with "%s" directive path:\n'
+ 'Cannot encode input file path "%s" '
+ '(wrong locale?).' % (self.name, path))
+ raise self.severe(msg)
except IOError as error:
- raise self.severe('Problems with "%s" directive path:\n%s.' %
- (self.name, ErrorString(error)))
+ msg = 'Problems with "%s" directive path:\n%s.' % (self.name, error)
+ raise self.severe(msg)
raw_lines = f.read().splitlines()
f.close()
rst = None