summaryrefslogtreecommitdiff
path: root/sphinx/config.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2018-03-23 14:26:07 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2018-03-24 00:27:03 +0900
commit3d8cb12497dfa9a044e4b4eaa98b39c4000c1915 (patch)
treed02ecbd60fa56de0906ed09dd67e6c1d623d832b /sphinx/config.py
parente4ecb97d5ac308cb3a54994661d61d0c82402eb0 (diff)
downloadsphinx-git-3d8cb12497dfa9a044e4b4eaa98b39c4000c1915.tar.gz
Raise ExtensionError from Config class instead application class
Diffstat (limited to 'sphinx/config.py')
-rw-r--r--sphinx/config.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/sphinx/config.py b/sphinx/config.py
index 0ffa128f3..7818244e5 100644
--- a/sphinx/config.py
+++ b/sphinx/config.py
@@ -19,7 +19,7 @@ from typing import Any, NamedTuple, Union
from six import PY2, PY3, iteritems, string_types, binary_type, text_type, integer_types
from sphinx.deprecation import RemovedInSphinx30Warning
-from sphinx.errors import ConfigError
+from sphinx.errors import ConfigError, ExtensionError
from sphinx.locale import _, __
from sphinx.util import logging
from sphinx.util.i18n import format_date
@@ -347,7 +347,10 @@ class Config(object):
def add(self, name, default, rebuild, types):
# type: (unicode, Any, Union[bool, unicode], Any) -> None
- self.values[name] = (default, rebuild, types)
+ if name in self.values:
+ raise ExtensionError(__('Config value %r already present') % name)
+ else:
+ self.values[name] = (default, rebuild, types)
def filter(self, rebuild):
# type: (Union[unicode, List[unicode]]) -> Iterator[ConfigValue]