Skip to content

Commit 98cb352

Browse files
Stop pagination when last response contains no data (#2248)
* Stop pagination when last response contains no data * Remove unnecessary parenthesis * Tweak @mehmetgiritli's fix and apply it to synchronous code too --------- Co-authored-by: Matthew Evans <git@ml-evs.science>
1 parent 2e9b742 commit 98cb352

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

optimade/client/client.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -989,6 +989,14 @@ async def _get_one_async(
989989
if not paginate:
990990
break
991991

992+
if len(results.data) == 0:
993+
if next_url:
994+
message = f"{base_url} unexpectedly stopped returning results. Stopping download."
995+
results.errors.append(message)
996+
if not self.silent:
997+
self._progress.print(message)
998+
break
999+
9921000
if (
9931001
self.max_results_per_provider
9941002
and len(results.data) >= self.max_results_per_provider
@@ -1067,6 +1075,14 @@ def _get_one(
10671075

10681076
results.update(page_results)
10691077

1078+
if len(results.data) == 0:
1079+
if next_url:
1080+
message = f"{base_url} unexpectedly stopped returning results. Stopping download."
1081+
results.errors.append(message)
1082+
if not self.silent:
1083+
self._progress.print(message)
1084+
break
1085+
10701086
if (
10711087
self.max_results_per_provider
10721088
and len(results.data) >= self.max_results_per_provider

0 commit comments

Comments
 (0)