feat: allow to download results from all pages #787
+181
−77
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #133
After searching some products, we can now download the ones from all pages of this search by setting
exhaust
toTrue
indownload_all()
method parameters.It works by saving some elements in several objects:
SearchResults
object to search next pages of the searchSearchResults
object to apply them on next pages and to skip a crunch if it has already been applied on the objectEODataAccessGateway
object to skip a page when it has already been requestedThen, the
search_iter_page()
is called to search products from all pages by skipping the one already found.Finally, if there are other products, they are added to the initial
SearchResults
object.