diff options
author | Brad King <brad.king@kitware.com> | 2022-10-10 20:21:35 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2022-10-11 14:01:12 (GMT) |
commit | 294b6db53345fa97913ae6b5df0208337cb6b4a6 (patch) | |
tree | 60551fe2e313db9576c3dabc96ba390a12afa4f3 /Utilities | |
parent | 450723796017d0f20f8b054d58218d7c4151a88a (diff) | |
download | CMake-294b6db53345fa97913ae6b5df0208337cb6b4a6.zip CMake-294b6db53345fa97913ae6b5df0208337cb6b4a6.tar.gz CMake-294b6db53345fa97913ae6b5df0208337cb6b4a6.tar.bz2 |
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')
-rw-r--r-- | Utilities/Sphinx/cmake.py | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py index 9215e14..c7b1233 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 |