From 063c97304d8ae79c4f8ff25725094702620c4994 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Date: Sat, 13 Jul 2024 07:35:39 +0100 Subject: [PATCH] Simplify the type of configuration value descriptions (#12553) There's no real reason to have the empty string as a description, and hence we can just make the type ``str`` rather than a union. --- sphinx/application.py | 2 +- sphinx/config.py | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/sphinx/application.py b/sphinx/application.py index eb050e406..f29b064d1 100644 --- a/sphinx/application.py +++ b/sphinx/application.py @@ -530,7 +530,7 @@ class Sphinx: def add_config_value( self, name: str, default: Any, rebuild: _ConfigRebuild, types: type | Collection[type] | ENUM = (), - description: str | None = None, + description: str = '', ) -> None: """Register a configuration value. diff --git a/sphinx/config.py b/sphinx/config.py index cd669033b..24984ac66 100644 --- a/sphinx/config.py +++ b/sphinx/config.py @@ -94,7 +94,6 @@ class ENUM: _OptValidTypes = Union[tuple[()], tuple[type, ...], frozenset[type], ENUM] -_DescriptionType = Union[str, None] class _Opt: @@ -103,14 +102,14 @@ class _Opt: default: Any rebuild: _ConfigRebuild valid_types: _OptValidTypes - description: _DescriptionType + description: str def __init__( self, default: Any, rebuild: _ConfigRebuild, valid_types: _OptValidTypes, - description: _DescriptionType = None, + description: str = '', ) -> None: """Configuration option type for Sphinx. @@ -163,11 +162,11 @@ class _Opt: raise TypeError(msg) super().__delattr__(key) - def __getstate__(self) -> tuple[Any, _ConfigRebuild, _OptValidTypes, _DescriptionType]: + def __getstate__(self) -> tuple[Any, _ConfigRebuild, _OptValidTypes, str]: return self.default, self.rebuild, self.valid_types, self.description def __setstate__( - self, state: tuple[Any, _ConfigRebuild, _OptValidTypes, _DescriptionType]) -> None: + self, state: tuple[Any, _ConfigRebuild, _OptValidTypes, str]) -> None: default, rebuild, valid_types, description = state super().__setattr__('default', default) super().__setattr__('rebuild', rebuild) @@ -453,7 +452,7 @@ class Config: def add(self, name: str, default: Any, rebuild: _ConfigRebuild, types: type | Collection[type] | ENUM, - description: str | None = None) -> None: + description: str = '') -> None: if name in self._options: raise ExtensionError(__('Config value %r already present') % name)