From 0e439a9c5c3cdb598fb665f1e8cb63d8a42bf71e Mon Sep 17 00:00:00 2001 From: Sergiy Date: Mon, 24 Feb 2025 20:19:30 +0000 Subject: [PATCH] fix: allow nested db layer entries --- tests/unit/layer/db_layer/firestore/test_backend.py | 5 +++++ zetta_utils/layer/db_layer/__init__.py | 2 +- zetta_utils/layer/db_layer/backend.py | 6 ++---- zetta_utils/layer/db_layer/firestore/backend.py | 2 -- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/unit/layer/db_layer/firestore/test_backend.py b/tests/unit/layer/db_layer/firestore/test_backend.py index 4c4e99af0..2665f9e48 100644 --- a/tests/unit/layer/db_layer/firestore/test_backend.py +++ b/tests/unit/layer/db_layer/firestore/test_backend.py @@ -140,6 +140,11 @@ def test_batching(firestore_emulator, mocker) -> None: ROW_COUNT = 150 COLS = ("col_a", "col_b") + mocker.patch( + "zetta_utils.layer.db_layer.firestore.backend.FirestoreBackend.__len__", + return_value=0, + ) + assert layer.get_batch(10, 10) == {} mocker.patch( "zetta_utils.layer.db_layer.firestore.backend.FirestoreBackend.__len__", return_value=ROW_COUNT, diff --git a/zetta_utils/layer/db_layer/__init__.py b/zetta_utils/layer/db_layer/__init__.py index c993ee248..b3ce894a3 100644 --- a/zetta_utils/layer/db_layer/__init__.py +++ b/zetta_utils/layer/db_layer/__init__.py @@ -1,5 +1,5 @@ from .index import DBIndex -from .backend import DBDataT, DBBackend, DBArrayValueT, DBValueT, DBRowDataT +from .backend import DBDataT, DBBackend, DBValueT, DBRowDataT from .layer import DBLayer, UserDBIndex, ColIndex, DBDataProcT diff --git a/zetta_utils/layer/db_layer/backend.py b/zetta_utils/layer/db_layer/backend.py index b41972027..0889b671e 100644 --- a/zetta_utils/layer/db_layer/backend.py +++ b/zetta_utils/layer/db_layer/backend.py @@ -2,14 +2,12 @@ from __future__ import annotations from abc import abstractmethod -from typing import MutableMapping, Sequence, Union +from typing import Mapping, MutableMapping, Sequence, Union from .. import Backend from . import DBIndex -DBScalarValueT = Union[bool, int, float, str] -DBArrayValueT = list[DBScalarValueT] -DBValueT = Union[DBScalarValueT, DBArrayValueT] +DBValueT = Union[bool, int, float, str, Sequence["DBValueT"], Mapping[str, "DBValueT"]] DBRowDataT = MutableMapping[str, DBValueT | None] DBDataT = Sequence[DBRowDataT] diff --git a/zetta_utils/layer/db_layer/firestore/backend.py b/zetta_utils/layer/db_layer/firestore/backend.py index ac45cdbc1..c241346aa 100644 --- a/zetta_utils/layer/db_layer/firestore/backend.py +++ b/zetta_utils/layer/db_layer/firestore/backend.py @@ -16,7 +16,6 @@ stop_after_attempt, wait_exponential, ) -from typeguard import typechecked from zetta_utils import builder from zetta_utils.layer.db_layer import DBBackend, DBDataT, DBIndex, DBRowDataT @@ -26,7 +25,6 @@ @builder.register("FirestoreBackend") -@typechecked @attrs.mutable class FirestoreBackend(DBBackend): """