From f34da34c7f892a4674fc834b19540f0e9cea11fe Mon Sep 17 00:00:00 2001 From: akaila-splunk Date: Wed, 1 Sep 2021 12:09:46 +0530 Subject: [PATCH] Update internals.py --- splunklib/searchcommands/internals.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/splunklib/searchcommands/internals.py b/splunklib/searchcommands/internals.py index 85f9e0fe..3bba6c15 100644 --- a/splunklib/searchcommands/internals.py +++ b/splunklib/searchcommands/internals.py @@ -572,10 +572,21 @@ def write_record(self, record): def write_records(self, records): self._ensure_validity() + records = list(records) + self._fetch_fieldname(records) write_record = self._write_record for record in records: write_record(record) + def _fetch_fieldname(self, records): + fieldnames = set() + for record in records: + fieldname = set(list(record.keys())) + fieldnames = fieldnames | fieldname + self._fieldnames = list(fieldnames) + value_list = imap(lambda fn: (str(fn), str('__mv_') + str(fn)), self._fieldnames) + self._writerow(list(chain.from_iterable(value_list))) + def _clear(self): self._buffer.seek(0) self._buffer.truncate()