Skip to content

Commit dc6f87f

Browse files
committed
fix: address comment pt1
#207 (comment)
1 parent 847ab74 commit dc6f87f

File tree

2 files changed

+8
-19
lines changed

2 files changed

+8
-19
lines changed

arango/collection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2017,7 +2017,7 @@ def response_handler(resp: Response) -> Json:
20172017
raise DocumentInsertError(resp, request)
20182018

20192019
results = []
2020-
for batch in get_batches(documents, batch_size):
2020+
for batch in get_batches(documents, batch_size or len(documents)):
20212021
request = Request(
20222022
method="post",
20232023
endpoint="/_api/import",

arango/utils.py

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import logging
1010
from contextlib import contextmanager
11-
from typing import Any, Iterator, List, Optional, Sequence, Union
11+
from typing import Any, Iterator, Sequence, Union
1212

1313
from arango.exceptions import DocumentParseError
1414
from arango.typings import Json
@@ -84,25 +84,14 @@ def is_none_or_str(obj: Any) -> bool:
8484
return obj is None or isinstance(obj, str)
8585

8686

87-
def get_batches(
88-
l: Sequence[Json], batch_size: Optional[int] = None
89-
) -> Union[List[Sequence[Json]], Iterator[Sequence[Json]]]:
87+
def get_batches(elements: Sequence[Json], batch_size: int) -> Iterator[Sequence[Json]]:
9088
"""Generator to split a list in batches
9189
of (maximum) **batch_size** elements each.
92-
If **batch_size** is invalid, return entire
93-
list as one batch.
9490
95-
:param l: The list of elements.
96-
:type l: list
91+
:param elements: The list of elements.
92+
:type elements: Sequence[Json]
9793
:param batch_size: Number of elements per batch.
98-
:type batch_size: int | None
94+
:type batch_size: int
9995
"""
100-
if batch_size is None or batch_size <= 0 or batch_size >= len(l):
101-
return [l]
102-
103-
def generator() -> Iterator[Sequence[Json]]:
104-
n = int(batch_size) # type: ignore # (false positive)
105-
for i in range(0, len(l), n):
106-
yield l[i : i + n]
107-
108-
return generator()
96+
for index in range(0, len(elements), batch_size):
97+
yield elements[index : index + batch_size]

0 commit comments

Comments
 (0)