importlib_resources for Python < 3.9, refs #2057

pull/2200/head
Simon Willison 2023-09-21 12:42:15 -07:00
rodzic 947520c1fe
commit b0d0a0e5de
2 zmienionych plików z 11 dodań i 5 usunięć

Wyświetl plik

@ -1,10 +1,15 @@
import importlib.metadata
import importlib.resources
import os
import pluggy
import sys
from . import hookspecs
if sys.version_info >= (3, 9):
import importlib.resources as importlib_resources
else:
import importlib_resources
DEFAULT_PLUGINS = (
"datasette.publish.heroku",
"datasette.publish.cloudrun",
@ -61,13 +66,13 @@ def get_plugins():
templates_path = None
if plugin.__name__ not in DEFAULT_PLUGINS:
try:
if (importlib.resources.files(plugin.__name__) / "static").is_dir():
if (importlib_resources.files(plugin.__name__) / "static").is_dir():
static_path = str(
importlib.resources.files(plugin.__name__) / "static"
importlib_resources.files(plugin.__name__) / "static"
)
if (importlib.resources.files(plugin.__name__) / "templates").is_dir():
if (importlib_resources.files(plugin.__name__) / "templates").is_dir():
templates_path = str(
importlib.resources.files(plugin.__name__) / "templates"
importlib_resources.files(plugin.__name__) / "templates"
)
except (TypeError, ModuleNotFoundError):
# Caused by --plugins_dir= plugins

Wyświetl plik

@ -48,6 +48,7 @@ setup(
"Jinja2>=2.10.3",
"hupper>=1.9",
"httpx>=0.20",
'importlib_resources>=1.3.1; python_version < "3.9"',
"pint>=0.9",
"pluggy>=1.0",
"uvicorn>=0.11",