diff --git a/pyproject.toml b/pyproject.toml index e8e3a25c..b445b82b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,7 +46,6 @@ dependencies = [ "urllib3>=2.4.0", "websockets>=15.0.1", "python-socks>=2.7.1", # dingtalk missing dependency - "taskgroup==0.0.0a4", # graingert/taskgroup#20 "pip>=25.1.1", "ruff>=0.11.9", "pre-commit>=4.2.0", diff --git a/src/langbot/pkg/api/http/controller/groups/platform/adapters.py b/src/langbot/pkg/api/http/controller/groups/platform/adapters.py index 4136791c..b46e5263 100644 --- a/src/langbot/pkg/api/http/controller/groups/platform/adapters.py +++ b/src/langbot/pkg/api/http/controller/groups/platform/adapters.py @@ -1,6 +1,7 @@ import quart - +import mimetypes from ... import group +from langbot.pkg.utils import importutil @group.group_class('adapters', '/api/v1/platform/adapters') @@ -31,4 +32,6 @@ class AdaptersRouterGroup(group.RouterGroup): if icon_path is None: return self.http_status(404, -1, 'icon not found') - return await quart.send_file(icon_path) + return quart.Response( + importutil.read_resource_file_bytes(icon_path), mimetype=mimetypes.guess_type(icon_path)[0] + ) diff --git a/src/langbot/pkg/api/http/controller/groups/provider/requesters.py b/src/langbot/pkg/api/http/controller/groups/provider/requesters.py index af9e1540..268ed11d 100644 --- a/src/langbot/pkg/api/http/controller/groups/provider/requesters.py +++ b/src/langbot/pkg/api/http/controller/groups/provider/requesters.py @@ -1,6 +1,8 @@ import quart +import mimetypes from ... import group +from langbot.pkg.utils import importutil @group.group_class('provider/requesters', '/api/v1/provider/requesters') @@ -32,4 +34,6 @@ class RequestersRouterGroup(group.RouterGroup): if icon_path is None: return self.http_status(404, -1, 'icon not found') - return await quart.send_file(icon_path) + return quart.Response( + importutil.read_resource_file_bytes(icon_path), mimetype=mimetypes.guess_type(icon_path)[0] + ) diff --git a/src/langbot/pkg/utils/importutil.py b/src/langbot/pkg/utils/importutil.py index 6feebd3e..a35052a6 100644 --- a/src/langbot/pkg/utils/importutil.py +++ b/src/langbot/pkg/utils/importutil.py @@ -41,5 +41,9 @@ def read_resource_file(resource_path: str) -> str: return f.read() +def read_resource_file_bytes(resource_path: str) -> bytes: + return importlib.resources.files('langbot').joinpath(resource_path).read_bytes() + + def list_resource_files(resource_path: str) -> list[str]: return [f.name for f in importlib.resources.files('langbot').joinpath(resource_path).iterdir()]