kopia lustrzana https://github.com/simonw/datasette
Switch from pkg_resources to importlib.metadata in app.py, refs #2057
rodzic
16f0b6d822
commit
852f501485
|
@ -8,11 +8,11 @@ import functools
|
|||
import glob
|
||||
import hashlib
|
||||
import httpx
|
||||
import importlib.metadata
|
||||
import inspect
|
||||
from itsdangerous import BadSignature
|
||||
import json
|
||||
import os
|
||||
import pkg_resources
|
||||
import re
|
||||
import secrets
|
||||
import sys
|
||||
|
@ -1118,9 +1118,9 @@ class Datasette:
|
|||
if using_pysqlite3:
|
||||
for package in ("pysqlite3", "pysqlite3-binary"):
|
||||
try:
|
||||
info["pysqlite3"] = pkg_resources.get_distribution(package).version
|
||||
info["pysqlite3"] = importlib.metadata.version(package)
|
||||
break
|
||||
except pkg_resources.DistributionNotFound:
|
||||
except importlib.metadata.PackageNotFoundError:
|
||||
pass
|
||||
return info
|
||||
|
||||
|
|
|
@ -1264,3 +1264,25 @@ async def test_hook_actors_from_ids():
|
|||
}
|
||||
finally:
|
||||
pm.unregister(name="ReturnNothingPlugin")
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_plugin_is_installed():
|
||||
datasette = Datasette(memory=True)
|
||||
|
||||
class DummyPlugin:
|
||||
__name__ = "DummyPlugin"
|
||||
|
||||
@hookimpl
|
||||
def actors_from_ids(self, datasette, actor_ids):
|
||||
return {}
|
||||
|
||||
try:
|
||||
pm.register(DummyPlugin(), name="DummyPlugin")
|
||||
response = await datasette.client.get("/-/plugins.json")
|
||||
assert response.status_code == 200
|
||||
installed_plugins = {p["name"] for p in response.json()}
|
||||
assert "DummyPlugin" in installed_plugins
|
||||
|
||||
finally:
|
||||
pm.unregister(name="DummyPlugin")
|
||||
|
|
Ładowanie…
Reference in New Issue