diff options
author | Thomas Kluyver <thomas@kluyver.me.uk> | 2021-12-22 18:13:19 +0000 |
---|---|---|
committer | Thomas Kluyver <thomas@kluyver.me.uk> | 2021-12-22 18:13:19 +0000 |
commit | 6c5c66bbb19cb2dcfdc25da97d4d839eec139db7 (patch) | |
tree | 5d1e92fe9efeb3ac536d2e6ddb9bf386c5b3714c /sphinx/theming.py | |
parent | 40db5694faf8d74d34675a686960ca76d984042b (diff) | |
download | sphinx-git-6c5c66bbb19cb2dcfdc25da97d4d839eec139db7.tar.gz |
Replace pkg_resources with importlib.metadata
Diffstat (limited to 'sphinx/theming.py')
-rw-r--r-- | sphinx/theming.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/sphinx/theming.py b/sphinx/theming.py index f5004022d..763a657fb 100644 --- a/sphinx/theming.py +++ b/sphinx/theming.py @@ -16,7 +16,10 @@ from os import path from typing import TYPE_CHECKING, Any, Dict, List from zipfile import ZipFile -import pkg_resources +try: # Python < 3.10 (backport) + from importlib_metadata import entry_points +except ImportError: + from importlib.metadata import entry_points from sphinx import package_dir from sphinx.errors import ThemeError @@ -201,12 +204,12 @@ class HTMLThemeFactory: Sphinx refers to ``sphinx_themes`` entry_points. """ # look up for new styled entry_points at first - entry_points = pkg_resources.iter_entry_points('sphinx.html_themes', name) + theme_eps = entry_points(group='sphinx.html_themes') try: - entry_point = next(entry_points) - self.app.registry.load_extension(self.app, entry_point.module_name) + entry_point = theme_eps[name] + self.app.registry.load_extension(self.app, entry_point.module) return - except StopIteration: + except KeyError: pass def find_themes(self, theme_path: str) -> Dict[str, str]: |