Skip to content

Commit 204aeae

Browse files
committed
add offset option to gen_api_query
1 parent dd68867 commit 204aeae

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

cpapi/mgmt_api.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -398,12 +398,14 @@ def gen_api_query(self, command, details_level="standard", container_keys=None,
398398
all_objects[key] = []
399399
iterations = 0 # number of times we've made an API call
400400
limit = 50 # page size to get for each api call
401+
offset = 0 # skip n objects in the database
401402
if payload is None:
402403
payload = {}
403404
else:
404405
limit = int(payload.get("limit", limit))
406+
offset = int(payload.get("offset", offset))
405407

406-
payload.update({"limit": limit, "offset": iterations * limit, "details-level": details_level})
408+
payload.update({"limit": limit, "offset": iterations * limit + offset, "details-level": details_level})
407409
api_res = self.api_call(command, payload)
408410
for container_key in container_keys:
409411
if not api_res.data or container_key not in api_res.data or not isinstance(api_res.data[container_key], list) \
@@ -430,7 +432,7 @@ def gen_api_query(self, command, details_level="standard", container_keys=None,
430432
break
431433

432434
iterations += 1
433-
payload.update({"limit": limit, "offset": iterations * limit, "details-level": details_level})
435+
payload.update({"limit": limit, "offset": iterations * limit + offset, "details-level": details_level})
434436
api_res = self.api_call(command, payload)
435437

436438
def get_server_fingerprint(self):

0 commit comments

Comments
 (0)