diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-07-05 01:32:54 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-07-05 01:32:54 +0900 |
commit | ec3754bd94eaa3aa3c5410ee6ab100bb27bfb798 (patch) | |
tree | d0446a967a4f8cbc3208d48d6bf3d9b7c90ca25e /sphinx/registry.py | |
parent | b268963709dc9256cf711d4cc054a86e70226702 (diff) | |
parent | 9fd9edebb47a3a5eda8c6065b12b71cdb0985a73 (diff) | |
download | sphinx-git-ec3754bd94eaa3aa3c5410ee6ab100bb27bfb798.tar.gz |
Merge branch '3.x'
Diffstat (limited to 'sphinx/registry.py')
-rw-r--r-- | sphinx/registry.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/sphinx/registry.py b/sphinx/registry.py index c36671103..3dde26b67 100644 --- a/sphinx/registry.py +++ b/sphinx/registry.py @@ -138,9 +138,9 @@ class SphinxComponentRegistry: entry_points = iter_entry_points('sphinx.builders', name) try: entry_point = next(entry_points) - except StopIteration: + except StopIteration as exc: raise SphinxError(__('Builder name %s not registered or available' - ' through entry point') % name) + ' through entry point') % name) from exc self.load_extension(app, entry_point.module_name) @@ -272,8 +272,8 @@ class SphinxComponentRegistry: def get_source_parser(self, filetype: str) -> "Type[Parser]": try: return self.source_parsers[filetype] - except KeyError: - raise SphinxError(__('Source parser for %s not registered') % filetype) + except KeyError as exc: + raise SphinxError(__('Source parser for %s not registered') % filetype) from exc def get_source_parsers(self) -> Dict[str, "Type[Parser]"]: return self.source_parsers @@ -310,9 +310,11 @@ class SphinxComponentRegistry: try: visit, depart = handlers # unpack once for assertion translation_handlers[node.__name__] = (visit, depart) - except ValueError: - raise ExtensionError(__('kwargs for add_node() must be a (visit, depart) ' - 'function tuple: %r=%r') % (builder_name, handlers)) + except ValueError as exc: + raise ExtensionError( + __('kwargs for add_node() must be a (visit, depart) ' + 'function tuple: %r=%r') % (builder_name, handlers) + ) from exc def get_translator_class(self, builder: Builder) -> "Type[nodes.NodeVisitor]": return self.translators.get(builder.name, @@ -406,7 +408,8 @@ class SphinxComponentRegistry: mod = import_module(extname) except ImportError as err: logger.verbose(__('Original exception:\n') + traceback.format_exc()) - raise ExtensionError(__('Could not import extension %s') % extname, err) + raise ExtensionError(__('Could not import extension %s') % extname, + err) from err setup = getattr(mod, 'setup', None) if setup is None: @@ -422,7 +425,7 @@ class SphinxComponentRegistry: __('The %s extension used by this project needs at least ' 'Sphinx v%s; it therefore cannot be built with this ' 'version.') % (extname, err) - ) + ) from err if metadata is None: metadata = {} |