pygsheets
pygsheets copied to clipboard
[FIX] run_batch with requests from multiple spreadsheets
Previously, run_batch behavior was not correct (or at least, not intuitive - there was a return
statement direcly inside a for
loop).
Previous behavior:
- batch update all requests for the first spreadsheet in
batched_requests
- return reply from that update, without clearing
self.batched_requests
New behavior:
- batch update all requests for each spreadsheet in
batched_requests
(one spreadsheet at a time) - set
self.batched_requests = dict()
- return
result
= list of replies, with length equal to number of spreadsheets. For backwards compatibility, when there is only one spreadsheet the default behavior is to returnresult[0]
instead.
Thank you for the PR! please add a test to verify if its all good.
Okay, I did this renaming: _return_list_if_single
--> return_list_if_single
.
Can you help me with "add a test to verify if it's all good"? I'm relatively new at contributing to other repositories. Also, thank you for building/maintaining pygsheets!
So we need to add some tests to verify that the functionality that you added works as intended. For pygsheets we only have tests that use the real API (end to end tests). You can find them here.
For this PR you can write a test that makes some batch requests in multiple sheets that would have failed with the old code but with this fix its fixed.
Please refer to existing examples on how to write tests (you can also find examples in old PRs #571 )