From 89283026ae917883f84da7a16179f207390bc540 Mon Sep 17 00:00:00 2001 From: lethosor Date: Mon, 13 Jul 2020 20:14:11 -0400 Subject: [PATCH] Improve changelog error handling a bit when called from sphinx --- docs/sphinx_extensions/dfhack/changelog.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/sphinx_extensions/dfhack/changelog.py b/docs/sphinx_extensions/dfhack/changelog.py index 99f0ea299..6f444d36f 100644 --- a/docs/sphinx_extensions/dfhack/changelog.py +++ b/docs/sphinx_extensions/dfhack/changelog.py @@ -4,6 +4,8 @@ import itertools import os import sys +from sphinx.errors import ExtensionError, SphinxError, SphinxWarning + from dfhack.util import DFHACK_ROOT, DOCS_ROOT CHANGELOG_PATHS = ( @@ -214,7 +216,7 @@ def generate_changelog(all=False): # scan for unrecognized sections for entry in entries: if entry.section not in CHANGELOG_SECTIONS: - raise RuntimeWarning('Unknown section: ' + entry.section) + raise SphinxWarning('Unknown section: ' + entry.section) # ordered versions versions = ['future'] @@ -287,7 +289,12 @@ def cli_entrypoint(): def sphinx_entrypoint(app, config): - generate_changelog() + try: + generate_changelog() + except SphinxError: + raise + except Exception as e: + raise ExtensionError(str(e), e) def setup(app):