diff options
| author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-11-01 11:38:39 +0900 |
|---|---|---|
| committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-11-01 11:38:39 +0900 |
| commit | 87121c3de02b7615407f0f99004fd9cba757cf9c (patch) | |
| tree | 04813c6980e418a6e1d7afa1ccc5a8b9108aa001 /sphinx/registry.py | |
| parent | c9d8eac5ac08583db3fd6fd48164a4c475436ddb (diff) | |
| parent | 4c2076b220d3c2371229cfc911bf44b1f13eeea2 (diff) | |
| download | sphinx-git-87121c3de02b7615407f0f99004fd9cba757cf9c.tar.gz | |
Merge branch '3.x' into 8183
Diffstat (limited to 'sphinx/registry.py')
| -rw-r--r-- | sphinx/registry.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sphinx/registry.py b/sphinx/registry.py index 0aec0a9fd..d0c00b85f 100644 --- a/sphinx/registry.py +++ b/sphinx/registry.py @@ -259,12 +259,12 @@ class SphinxComponentRegistry: else: self.source_suffix[suffix] = filetype - def add_source_parser(self, parser: "Type[Parser]", **kwargs: Any) -> None: + def add_source_parser(self, parser: "Type[Parser]", override: bool = False) -> None: logger.debug('[app] adding search source_parser: %r', parser) # create a map from filetype to parser for filetype in parser.supported: - if filetype in self.source_parsers and not kwargs.get('override'): + if filetype in self.source_parsers and not override: raise ExtensionError(__('source_parser for %r is already registered') % filetype) else: @@ -367,7 +367,14 @@ class SphinxComponentRegistry: logger.debug('[app] adding js_file: %r, %r', filename, attributes) self.js_files.append((filename, attributes)) + def has_latex_package(self, name: str) -> bool: + packages = self.latex_packages + self.latex_packages_after_hyperref + return bool([x for x in packages if x[0] == name]) + def add_latex_package(self, name: str, options: str, after_hyperref: bool = False) -> None: + if self.has_latex_package(name): + logger.warn("latex package '%s' already included" % name) + logger.debug('[app] adding latex package: %r', name) if after_hyperref: self.latex_packages_after_hyperref.append((name, options)) @@ -394,7 +401,7 @@ class SphinxComponentRegistry: def load_extension(self, app: "Sphinx", extname: str) -> None: """Load a Sphinx extension.""" - if extname in app.extensions: # alread loaded + if extname in app.extensions: # already loaded return if extname in EXTENSION_BLACKLIST: logger.warning(__('the extension %r was already merged with Sphinx since ' |
