From 0835c3e8ea6b23fb12b29d9c5104e06595f400b6 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Thu, 17 Aug 2023 17:29:49 +0100 Subject: [PATCH] Fix regression in ``SingleFileHTMLBuilder._get_local_toctree`` --- CHANGES | 2 ++ sphinx/builders/singlehtml.py | 9 +++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 1b06ad12506..9dd758cefb6 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,8 @@ Bugs fixed * Fixed membership testing (``in``) for the :py:class:`str` interface of the asset classes (``_CascadingStyleSheet`` and ``_JavaScript``), which several extensions relied upon. +* Fixed a type error in ``SingleFileHTMLBuilder._get_local_toctree``, + ``includehidden`` may be passed as a string or a boolean. Release 7.2.1 (released Aug 17, 2023) ===================================== diff --git a/sphinx/builders/singlehtml.py b/sphinx/builders/singlehtml.py index 9ad26ebd5a3..cd669530314 100644 --- a/sphinx/builders/singlehtml.py +++ b/sphinx/builders/singlehtml.py @@ -64,10 +64,11 @@ def fix_refuris(self, tree: Node) -> None: refnode['refuri'] = fname + refuri[hashindex:] def _get_local_toctree(self, docname: str, collapse: bool = True, **kwargs: Any) -> str: - if kwargs.get('includehidden', 'false').lower() == 'false': - kwargs['includehidden'] = False - elif kwargs['includehidden'].lower() == 'true': - kwargs['includehidden'] = True + if isinstance(includehidden := kwargs.get('includehidden'), str): + if includehidden.lower() == 'false': + kwargs['includehidden'] = False + elif includehidden.lower() == 'true': + kwargs['includehidden'] = True if kwargs.get('maxdepth') == '': kwargs.pop('maxdepth') toctree = global_toctree_for_doc(self.env, docname, self, collapse=collapse, **kwargs)