update exception
This commit is contained in:
@@ -512,7 +512,7 @@ class DynamoDBPersistenceLayer:
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
class MissingError(ValueError):
|
class MissingError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@@ -556,14 +556,9 @@ class DynamoDBCollection:
|
|||||||
self,
|
self,
|
||||||
persistence_layer: DynamoDBPersistenceLayer,
|
persistence_layer: DynamoDBPersistenceLayer,
|
||||||
/,
|
/,
|
||||||
exception_cls: Type[ValueError] = MissingError,
|
exception_cls: Type[Exception] = MissingError,
|
||||||
tz: str = TZ,
|
tz: str = TZ,
|
||||||
) -> None:
|
) -> None:
|
||||||
if not issubclass(exception_cls, ValueError):
|
|
||||||
raise TypeError(
|
|
||||||
f'exception_cls must be a subclass of ValueError, got {exception_cls}'
|
|
||||||
)
|
|
||||||
|
|
||||||
self.persistence_layer = persistence_layer
|
self.persistence_layer = persistence_layer
|
||||||
self.exception_cls = exception_cls
|
self.exception_cls = exception_cls
|
||||||
self.tz = tz
|
self.tz = tz
|
||||||
@@ -572,11 +567,13 @@ class DynamoDBCollection:
|
|||||||
self,
|
self,
|
||||||
key: Key,
|
key: Key,
|
||||||
path_spec: str | None = None,
|
path_spec: str | None = None,
|
||||||
|
/,
|
||||||
raise_on_error: bool = True,
|
raise_on_error: bool = True,
|
||||||
|
exception_cls: Type[Exception] | None = None,
|
||||||
default: Any = None,
|
default: Any = None,
|
||||||
delimiter: str = '#',
|
delimiter: str = '#',
|
||||||
) -> Any:
|
) -> Any:
|
||||||
exc_cls = self.exception_cls
|
exc_cls = exception_cls or self.exception_cls
|
||||||
data = self.persistence_layer.get_item(key)
|
data = self.persistence_layer.get_item(key)
|
||||||
|
|
||||||
if raise_on_error and not data:
|
if raise_on_error and not data:
|
||||||
@@ -592,6 +589,7 @@ class DynamoDBCollection:
|
|||||||
def put_item(
|
def put_item(
|
||||||
self,
|
self,
|
||||||
key: Key,
|
key: Key,
|
||||||
|
*,
|
||||||
ttl: int | datetime | None = None,
|
ttl: int | datetime | None = None,
|
||||||
**kwargs: Any,
|
**kwargs: Any,
|
||||||
) -> bool:
|
) -> bool:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "layercake"
|
name = "layercake"
|
||||||
version = "0.1.13"
|
version = "0.1.14"
|
||||||
description = "Add your description here"
|
description = "Add your description here"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
authors = [
|
authors = [
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ from layercake.dynamodb import (
|
|||||||
DynamoDBCollection,
|
DynamoDBCollection,
|
||||||
DynamoDBPersistenceLayer,
|
DynamoDBPersistenceLayer,
|
||||||
KeyPair,
|
KeyPair,
|
||||||
MissingError,
|
|
||||||
PartitionKey,
|
PartitionKey,
|
||||||
PrefixKey,
|
PrefixKey,
|
||||||
TransactItems,
|
TransactItems,
|
||||||
@@ -121,8 +120,13 @@ def test_collection_get_item(
|
|||||||
'update_date': '2023-11-09T12:13:04.308986-03:00',
|
'update_date': '2023-11-09T12:13:04.308986-03:00',
|
||||||
}
|
}
|
||||||
|
|
||||||
with pytest.raises(MissingError):
|
class NotFoundError(Exception): ...
|
||||||
collect.get_item(key=KeyPair('5OxmMjL-ujoR5IMGegQz', 'notfound'))
|
|
||||||
|
with pytest.raises(NotFoundError):
|
||||||
|
collect.get_item(
|
||||||
|
KeyPair('5OxmMjL-ujoR5IMGegQz', 'notfound'),
|
||||||
|
exception_cls=NotFoundError,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_collection_put_item(
|
def test_collection_put_item(
|
||||||
|
|||||||
2
layercake/uv.lock
generated
2
layercake/uv.lock
generated
@@ -488,7 +488,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "layercake"
|
name = "layercake"
|
||||||
version = "0.1.12"
|
version = "0.1.14"
|
||||||
source = { editable = "." }
|
source = { editable = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "arnparse" },
|
{ name = "arnparse" },
|
||||||
|
|||||||
Reference in New Issue
Block a user