@@ -48,11 +48,17 @@ def from_datastore(entity):
4848
4949def list (limit = 10 , cursor = None ):
5050 ds = get_client ()
51+
5152 query = ds .query (kind = 'Book' , order = ['title' ])
52- it = query .fetch (limit = limit , start_cursor = cursor )
53- entities , more_results , cursor = it .next_page ()
54- entities = builtin_list (map (from_datastore , entities ))
55- return entities , cursor .decode ('utf-8' ) if len (entities ) == limit else None
53+ query_iterator = query .fetch (limit = limit , start_cursor = cursor )
54+ page = next (query_iterator .pages )
55+
56+ entities = builtin_list (map (from_datastore , page ))
57+ next_cursor = (
58+ query_iterator .next_page_token .decode ('utf-8' )
59+ if query_iterator .next_page_token else None )
60+
61+ return entities , next_cursor
5662
5763
5864def list_by_user (user_id , limit = 10 , cursor = None ):
@@ -63,10 +69,16 @@ def list_by_user(user_id, limit=10, cursor=None):
6369 ('createdById' , '=' , user_id )
6470 ]
6571 )
66- it = query .fetch (limit = limit , start_cursor = cursor )
67- entities , more_results , cursor = it .next_page ()
68- entities = builtin_list (map (from_datastore , entities ))
69- return entities , cursor .decode ('utf-8' ) if len (entities ) == limit else None
72+
73+ query_iterator = query .fetch (limit = limit , start_cursor = cursor )
74+ page = next (query_iterator .pages )
75+
76+ entities = builtin_list (map (from_datastore , page ))
77+ next_cursor = (
78+ query_iterator .next_page_token .decode ('utf-8' )
79+ if query_iterator .next_page_token else None )
80+
81+ return entities , next_cursor
7082
7183
7284def read (id ):
0 commit comments