Skip to content

Commit 18b072c

Browse files
committed
Gracefully handle when a key in the fetch list is missing from the pulled data list.
1 parent 097ad87 commit 18b072c

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

lightbeam/fetch.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,9 @@ async def get_endpoint_records(self, endpoint, limit, offset, file_handle=None):
8989
payload_keys = list(values[0].keys())
9090
final_keys = util.apply_selections(payload_keys, self.lightbeam.keep_keys, self.lightbeam.drop_keys)
9191
do_key_filtering = len(payload_keys) != len(final_keys)
92+
9293
for v in values:
93-
if do_key_filtering: row = {k: v[k] for k in final_keys}
94+
if do_key_filtering: row = {k: v.get(k, None) for k in final_keys} #v.get() to account for missing keys
9495
else: row = v
9596
if file_handle: file_handle.write(json.dumps(row)+"\n")
9697
else: self.lightbeam.results.append(row)

0 commit comments

Comments
 (0)