Skip to content

Commit 8abd275

Browse files
author
Harinath
committed
Formatting.
1 parent 0936be5 commit 8abd275

File tree

5 files changed

+198
-133
lines changed

5 files changed

+198
-133
lines changed

pydanticrud/backends/dynamodb.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def _to_epoch_float(dt):
9696

9797

9898
def chunk_list(lst, size):
99-
return [lst[i: i + size] for i in range(0, len(lst), size)]
99+
return [lst[i : i + size] for i in range(0, len(lst), size)]
100100

101101

102102
def index_definition(index_name, keys, gsi=False):
@@ -429,11 +429,17 @@ def batch_save(self, items: list) -> dict:
429429
# chunk list for size limit of 25 items to write using this batch_write operation refer below.
430430
# https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/batch_write_item.html#:~:text=The%20BatchWriteItem%20operation,Data%20Types.
431431
for chunk in chunk_list(items, 20):
432-
serialized_items = [self.serializer.serialize_record(item.dict(by_alias=True)) for item in chunk]
432+
serialized_items = [
433+
self.serializer.serialize_record(item.dict(by_alias=True)) for item in chunk
434+
]
433435
for serialized_item in serialized_items:
434-
request_items[self.table_name].append({"PutRequest":
435-
{"Item": serialized_item }#self.serializer.serialize_item(serialized_item)}
436-
})
436+
request_items[self.table_name].append(
437+
{
438+
"PutRequest": {
439+
"Item": serialized_item
440+
} # self.serializer.serialize_item(serialized_item)}
441+
}
442+
)
437443
try:
438444
response = self.dynamodb.batch_write_item(RequestItems=request_items)
439445
except ClientError as e:

pydanticrud/dynamo_type_serializer.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
NoneType = type(None)
55

6+
67
class DynamoTypeSerializer:
78
def __init__(self):
89
self._methods = {
@@ -20,12 +21,10 @@ def serialize_item(self, item) -> dict:
2021
return {k: self.serialize(v) for k, v in item.items()}
2122

2223
def serialize_mapping(self, value: Mapping) -> dict:
23-
return {
24-
'M': {k: self.serialize(v) for k, v in value.items()}
25-
}
24+
return {"M": {k: self.serialize(v) for k, v in value.items()}}
2625

2726
def serialize_list(self, value: Union[list, tuple]) -> dict:
28-
return {'L': [self.serialize(item) for item in value]}
27+
return {"L": [self.serialize(item) for item in value]}
2928

3029
def serialize(self, value: Any):
3130
value_type = type(value)
@@ -38,17 +37,20 @@ def serialize(self, value: Any):
3837
return route(value)
3938
else:
4039
return route(value)
41-
raise TypeError(f'The value {value} is not Dynamodb serializable type.')
40+
raise TypeError(f"The value {value} is not Dynamodb serializable type.")
41+
4242

4343
def serialize_bool(value: bool) -> dict:
44-
return {'BOOL': value}
44+
return {"BOOL": value}
45+
4546

4647
def serialize_number(value: Union[int, float, decimal.Decimal]) -> dict:
47-
return {'N': str(value)}
48+
return {"N": str(value)}
49+
4850

4951
def serialize_none(value: None) -> dict:
50-
return {'NULL': True}
52+
return {"NULL": True}
5153

52-
def serialize_str(value: str) -> dict:
53-
return {'S': value}
5454

55+
def serialize_str(value: str) -> dict:
56+
return {"S": value}

tests/random_values.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def random_datetime():
1515
random.randint(1, 28),
1616
random.randint(1, 12),
1717
random.randint(1, 59),
18-
0
18+
0,
1919
)
2020

2121

tests/test_dynamo_type_serializer.py

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,54 +3,54 @@
33
from pydanticrud.backends.dynamodb import DynamoSerializer
44

55
serializer = DynamoSerializer(schema={})
6+
7+
68
def test_int():
7-
assert serializer.serialize(0) == {'N': '0'}
8-
assert serializer.serialize(34) == {'N': '34'}
9+
assert serializer.serialize(0) == {"N": "0"}
10+
assert serializer.serialize(34) == {"N": "34"}
911

1012

1113
def test_decimal():
12-
assert serializer.serialize(Decimal('1.2345')) == {'N': '1.2345'}
13-
assert serializer.serialize(Decimal('0.00')) == {'N': '0.00'}
14+
assert serializer.serialize(Decimal("1.2345")) == {"N": "1.2345"}
15+
assert serializer.serialize(Decimal("0.00")) == {"N": "0.00"}
16+
1417

1518
def test_str():
16-
assert serializer.serialize('') == {'S': ''}
17-
assert serializer.serialize('hello') == {'S': 'hello'}
18-
assert serializer.serialize('hello world') == {'S': 'hello world'}
19+
assert serializer.serialize("") == {"S": ""}
20+
assert serializer.serialize("hello") == {"S": "hello"}
21+
assert serializer.serialize("hello world") == {"S": "hello world"}
22+
1923

2024
def test_none():
21-
return serializer.serialize(None) == {'NULL': True}
25+
return serializer.serialize(None) == {"NULL": True}
26+
2227

2328
def test_bools():
24-
assert serializer.serialize(True) == {'BOOL': True}
25-
assert serializer.serialize(False) == {'BOOL': False}
29+
assert serializer.serialize(True) == {"BOOL": True}
30+
assert serializer.serialize(False) == {"BOOL": False}
2631

2732

2833
def test_list():
29-
assert serializer.serialize([1, 'abc', None, None, True]) == {
30-
'L': [{'N': '1'}, {'S': 'abc'}, {'NULL': True}, {'NULL': True},
31-
{'BOOL': True}]
34+
assert serializer.serialize([1, "abc", None, None, True]) == {
35+
"L": [{"N": "1"}, {"S": "abc"}, {"NULL": True}, {"NULL": True}, {"BOOL": True}]
3236
}
3337

38+
3439
def test_maps():
35-
assert serializer.serialize({
36-
'hello': 'world',
37-
'another': 123,
38-
'loop': {'Working': True}
39-
}) == {
40-
'M': {
41-
'hello': {'S': 'world'},
42-
'another': {'N': '123'},
43-
'loop': {'M': {'Working': {'BOOL': True}}}
40+
assert serializer.serialize({"hello": "world", "another": 123, "loop": {"Working": True}}) == {
41+
"M": {
42+
"hello": {"S": "world"},
43+
"another": {"N": "123"},
44+
"loop": {"M": {"Working": {"BOOL": True}}},
4445
}
4546
}
4647

48+
4749
def test_item():
48-
assert serializer.serialize_item({
49-
'Hello': 'World',
50-
'another': 123,
51-
'loop': {'Working': True}
52-
}) == {
53-
'Hello': {'S': 'World'},
54-
'another': {'N': '123'},
55-
'loop': {'M': {'Working': {'BOOL': True}}}
50+
assert serializer.serialize_item(
51+
{"Hello": "World", "another": 123, "loop": {"Working": True}}
52+
) == {
53+
"Hello": {"S": "World"},
54+
"another": {"N": "123"},
55+
"loop": {"M": {"Working": {"BOOL": True}}},
5656
}

0 commit comments

Comments
 (0)