Skip to content

Commit 46116ce

Browse files
committed
Fix infinite range
1 parent f6ab93d commit 46116ce

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/phub/objects/query.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,24 @@ def __getitem__(self, index: int | slice) -> Iterator[QueryItem] | Iterator[Iter
4444
return self.query._iter_page(items)
4545

4646
def wrap():
47-
for i in range(index.start or 0,
48-
index.stop or 0,
49-
index.step or 1):
50-
51-
yield self[i]
47+
try:
48+
# Implementation of a slice range
49+
i = index.start or 0
50+
while not index.stop or i < index.stop:
51+
yield self[i]
52+
i += index.step or 1
53+
54+
except errors.NoResult:
55+
return
5256

5357
return wrap()
58+
59+
def __iter__(self) -> Iterator[Iterator[QueryItem]]:
60+
'''
61+
Iterate each page.
62+
'''
63+
64+
return self[:]
5465

5566
class Query:
5667
'''

0 commit comments

Comments
 (0)