Source code for lories.data.converters.access

# -*- coding: utf-8 -*-
"""
lories.data.converters.access
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


"""

from __future__ import annotations

from lories._core._component import Component  # noqa
from lories._core._converter import Converter, _Converter, _ConverterContext  # noqa
from lories._core._data import _DataManager  # noqa
from lories.core import RegistratorAccess, ResourceError
from lories.util import get_context


[docs] class ConverterAccess(_ConverterContext, RegistratorAccess[Converter]): # noinspection PyUnresolvedReferences def __init__(self, registrar: Component, **kwargs) -> None: context = get_context(registrar, _DataManager).converters super().__init__(context, registrar, **kwargs) # noinspection PyProtectedMember, PyShadowingBuiltins def _set(self, id: str, converter: Converter) -> None: if not isinstance(converter, _Converter): raise ResourceError(f"Invalid converter type: {type(converter)}") super()._set(id, converter)