fix python scripts read offset (#13574)

Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
21pages
2025-11-20 22:15:42 +08:00
committed by GitHub
parent 7d06de00fb
commit 3787b45b49
5 changed files with 27 additions and 27 deletions

View File

@@ -34,9 +34,10 @@ def view_shared_abs(url, token, name=None):
filtered_params["pageSize"] = pageSize filtered_params["pageSize"] = pageSize
abs = [] abs = []
current = 1 current = 0
while True: while True:
current += 1
filtered_params["current"] = current filtered_params["current"] = current
response = requests.get(f"{url}/api/ab/shared/profiles", headers=headers, params=filtered_params) response = requests.get(f"{url}/api/ab/shared/profiles", headers=headers, params=filtered_params)
if response.status_code != 200: if response.status_code != 200:
@@ -52,8 +53,7 @@ def view_shared_abs(url, token, name=None):
abs.extend(data) abs.extend(data)
total = response_json.get("total", 0) total = response_json.get("total", 0)
current += pageSize if len(data) < pageSize or current * pageSize >= total:
if len(data) < pageSize or current > total:
break break
return abs return abs
@@ -86,9 +86,10 @@ def view_ab_peers(url, token, ab_guid, peer_id=None, alias=None):
filtered_params["pageSize"] = pageSize filtered_params["pageSize"] = pageSize
peers = [] peers = []
current = 1 current = 0
while True: while True:
current += 1
filtered_params["current"] = current filtered_params["current"] = current
response = requests.get(f"{url}/api/ab/peers", headers=headers, params=filtered_params) response = requests.get(f"{url}/api/ab/peers", headers=headers, params=filtered_params)
if response.status_code != 200: if response.status_code != 200:
@@ -104,8 +105,7 @@ def view_ab_peers(url, token, ab_guid, peer_id=None, alias=None):
peers.extend(data) peers.extend(data)
total = response_json.get("total", 0) total = response_json.get("total", 0)
current += pageSize if len(data) < pageSize or current * pageSize >= total:
if len(data) < pageSize or current > total:
break break
return peers return peers
@@ -403,9 +403,10 @@ def view_ab_rules(url, token, ab_guid):
} }
rules = [] rules = []
current = 1 current = 0
while True: while True:
current += 1
params["current"] = current params["current"] = current
response = requests.get(f"{url}/api/ab/rules", headers=headers, params=params) response = requests.get(f"{url}/api/ab/rules", headers=headers, params=params)
if response.status_code != 200: if response.status_code != 200:
@@ -421,8 +422,7 @@ def view_ab_rules(url, token, ab_guid):
rules.extend(data) rules.extend(data)
total = response_json.get("total", 0) total = response_json.get("total", 0)
current += pageSize if len(data) < pageSize or current * pageSize >= total:
if len(data) < pageSize or current > total:
break break
# Convert numeric permissions to string format # Convert numeric permissions to string format

View File

@@ -42,8 +42,9 @@ def list_groups(url, token, name=None, page_size=50):
params = {"pageSize": page_size} params = {"pageSize": page_size}
if name: if name:
params["name"] = name params["name"] = name
data, current = [], 1 data, current = [], 0
while True: while True:
current += 1
params["current"] = current params["current"] = current
r = requests.get(f"{url}/api/device-groups", headers=headers, params=params) r = requests.get(f"{url}/api/device-groups", headers=headers, params=params)
if r.status_code != 200: if r.status_code != 200:
@@ -56,8 +57,7 @@ def list_groups(url, token, name=None, page_size=50):
rows = res.get("data", []) rows = res.get("data", [])
data.extend(rows) data.extend(rows)
total = res.get("total", 0) total = res.get("total", 0)
current += page_size if len(rows) < page_size or current * page_size >= total:
if len(rows) < page_size or current > total:
break break
return data return data
@@ -142,8 +142,9 @@ def view_devices(url, token, group_name=None, id=None, device_name=None,
params["pageSize"] = page_size params["pageSize"] = page_size
data, current = [], 1 data, current = [], 0
while True: while True:
current += 1
params["current"] = current params["current"] = current
r = requests.get(f"{url}/api/devices", headers=headers, params=params) r = requests.get(f"{url}/api/devices", headers=headers, params=params)
if r.status_code != 200: if r.status_code != 200:
@@ -152,8 +153,7 @@ def view_devices(url, token, group_name=None, id=None, device_name=None,
rows = res.get("data", []) rows = res.get("data", [])
data.extend(rows) data.extend(rows)
total = res.get("total", 0) total = res.get("total", 0)
current += page_size if len(rows) < page_size or current * page_size >= total:
if len(rows) < page_size or current > total:
break break
return data return data

View File

@@ -34,9 +34,10 @@ def view(
devices = [] devices = []
current = 1 current = 0
while True: while True:
current += 1
params["current"] = current params["current"] = current
response = requests.get(f"{url}/api/devices", headers=headers, params=params) response = requests.get(f"{url}/api/devices", headers=headers, params=params)
if response.status_code != 200: if response.status_code != 200:
@@ -61,8 +62,7 @@ def view(
devices.append(device) devices.append(device)
total = response_json.get("total", 0) total = response_json.get("total", 0)
current += pageSize if len(data) < pageSize or current * pageSize >= total:
if len(data) < pageSize or current > total:
break break
return devices return devices

View File

@@ -42,8 +42,9 @@ def list_groups(url, token, name=None, page_size=50):
params = {"pageSize": page_size} params = {"pageSize": page_size}
if name: if name:
params["name"] = name params["name"] = name
data, current = [], 1 data, current = [], 0
while True: while True:
current += 1
params["current"] = current params["current"] = current
r = requests.get(f"{url}/api/user-groups", headers=headers, params=params) r = requests.get(f"{url}/api/user-groups", headers=headers, params=params)
if r.status_code != 200: if r.status_code != 200:
@@ -56,8 +57,7 @@ def list_groups(url, token, name=None, page_size=50):
rows = res.get("data", []) rows = res.get("data", [])
data.extend(rows) data.extend(rows)
total = res.get("total", 0) total = res.get("total", 0)
current += page_size if len(rows) < page_size or current * page_size >= total:
if len(rows) < page_size or current > total:
break break
return data return data
@@ -142,8 +142,9 @@ def view_users(url, token, group_name=None, name=None, page_size=50):
params["pageSize"] = page_size params["pageSize"] = page_size
data, current = [], 1 data, current = [], 0
while True: while True:
current += 1
params["current"] = current params["current"] = current
r = requests.get(f"{url}/api/users", headers=headers, params=params) r = requests.get(f"{url}/api/users", headers=headers, params=params)
if r.status_code != 200: if r.status_code != 200:
@@ -152,8 +153,7 @@ def view_users(url, token, group_name=None, name=None, page_size=50):
rows = res.get("data", []) rows = res.get("data", [])
data.extend(rows) data.extend(rows)
total = res.get("total", 0) total = res.get("total", 0)
current += page_size if len(rows) < page_size or current * page_size >= total:
if len(rows) < page_size or current > total:
break break
return data return data

View File

@@ -49,9 +49,10 @@ def view(
users = [] users = []
current = 1 current = 0
while True: while True:
current += 1
params["current"] = current params["current"] = current
response = requests.get(f"{url}/api/users", headers=headers, params=params) response = requests.get(f"{url}/api/users", headers=headers, params=params)
if response.status_code != 200: if response.status_code != 200:
@@ -67,8 +68,7 @@ def view(
users.extend(data) users.extend(data)
total = response_json.get("total", 0) total = response_json.get("total", 0)
current += pageSize if len(data) < pageSize or current * pageSize >= total:
if len(data) < pageSize or current > total:
break break
return users return users