Исходный код raito.plugins.roles.providers.sql

from __future__ import annotations

from typing import TYPE_CHECKING, Literal, overload

__all__ = (
    "get_postgresql_provider",
    "get_sqlite_provider",
)

if TYPE_CHECKING:
    from .postgresql import PostgreSQLRoleProvider
    from .sqlite import SQLiteRoleProvider


@overload
def get_sqlite_provider(*, throw: Literal[True] = True) -> type[SQLiteRoleProvider]: ...
@overload
def get_sqlite_provider(*, throw: Literal[False]) -> type[SQLiteRoleProvider] | None: ...
[документация] def get_sqlite_provider(*, throw: bool = True) -> type[SQLiteRoleProvider] | None: try: from .sqlite import SQLiteRoleProvider except ImportError as exc: if not throw: return None msg = "SQLiteRoleProvider requires :code:`aiosqlite` package. Install it using :code:`pip install raito[sqlite]`" raise ImportError(msg) from exc return SQLiteRoleProvider
@overload def get_postgresql_provider(*, throw: Literal[True] = True) -> type[PostgreSQLRoleProvider]: ... @overload def get_postgresql_provider(*, throw: Literal[False]) -> type[PostgreSQLRoleProvider] | None: ...
[документация] def get_postgresql_provider(*, throw: bool = True) -> type[PostgreSQLRoleProvider] | None: try: from .postgresql import PostgreSQLRoleProvider except ImportError as exc: if not throw: return None msg = "PostgreSQLRoleProvider requires :code:`asyncpg`, :code:`sqlalchemy` package. Install it using :code:`pip install raito[postgresql]`" raise ImportError(msg) from exc return PostgreSQLRoleProvider