Files
gallery/gallery/sketch/bundle.py

20 lines
646 B
Python

from collections import defaultdict
from .api import API, Api
class ApiBundle:
def __init__(self, values: list[Api]):
self._values = values
self._providers_by_api = defaultdict(list)
self._api_map = {}
for value in self._values:
self._providers_by_api[value.type].append(value.provider)
self._api_map[(value.type, value.provider)] = value
def get_api_providers(self, api_type: type[API]) -> list[str]:
return self._providers_by_api[api_type.TYPE]
def get_api(self, api_type: type[API], provider: str) -> API:
return self._api_map[(api_type.TYPE, provider)]