Handle deprecation of importlib.resources APIs

This commit is contained in:
Kovid Goyal
2021-10-19 09:14:58 +05:30
parent 38f1fe7742
commit 7f2ce045ab
5 changed files with 53 additions and 28 deletions

View File

@@ -12,6 +12,7 @@ from typing import TYPE_CHECKING, Any, Dict, FrozenSet, Generator, List, cast
from kitty.types import run_once
aliases = {'url_hints': 'hints'}
if TYPE_CHECKING:
from kitty.conf.types import Definition
@@ -139,12 +140,9 @@ def run_kitten(kitten: str, run_name: str = '__main__') -> None:
@run_once
def all_kitten_names() -> FrozenSet[str]:
try:
from importlib.resources import contents
except ImportError:
from importlib_resources import contents # type: ignore
from kitty.constants import list_kitty_resources
ans = []
for name in contents('kittens'):
for name in list_kitty_resources('kittens'):
if '__' not in name and '.' not in name and name != 'tui':
ans.append(name)
return frozenset(ans)