cloudflare / cloudflare/cloudflare-python
client.rules.lists.items.list - Pagination not working
- Lingua principale
- Python
- Stelle
- 506
- Fork
- 148
- Merge medio
- 3h 15m
- PR unite (30g)
- 1
Descrizione
### Confirm this is a Python library issue and not an underlying Cloudflare API issue.
- [x] This is an issue with the Python library
### Describe the bug
Hi there,
It appears as though pagination is not working for `client.rules.lists.items.list()`. I am only getting the first page back. I've taken a look at the source code and it appears it could be related to the removal of SyncCursorPagination? I'm rusty as a dev so I wouldn't put money on it.
Please check out this PR though ([here](https://github.com/cloudflare/cloudflare-python/commit/0e950d65a750fb3741d8728c980e804d658c0306#diff-06d57421adecb656bf71894319342166d32fdd4fe9c2e09319e1b15d0c8f9f3eL168-R176)) which looks to have made a change. For now the list I have is around 480 items so I'm getting around this with `client.rules.lists.items.list(account_id=account_id, list_id=rule_id, per_page=500)` but this is a stop-gap solution at best.
See "To Reproduce" for a very basic reproduction.
Any help would be greatly appreciated!
### To Reproduce
```
import os
from cloudflare import Cloudflare
client = Cloudflare(
api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted
)
ip_list = []
rule_id = "xxxxx"
account_id = "xxxxx"
for item in client.rules.lists.items.list(list_id=rule_id, account_id=account_id):
ip_list.append(account)
print(ip_list)
```
### Code snippets
```Python
```
### OS
macOS
### Python version
3.11.2
### Library version
4.3.1
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia dal punto di ingresso client.rules.lists.items.list() e riproduci il problema usando l’esempio con una lista più grande di una pagina. Esamina la gestione della paginazione e confrontala con la modifica citata di SyncCursorPagination; il lavoro è completato quando l’iterazione restituisce tutti gli elementi della lista senza richiedere un valore di per_page eccessivamente grande.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- api
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 58/100