Skip to content

Commit 479ba85

Browse files
committed
Add bulk export, only last event
1 parent 732d9e8 commit 479ba85

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

example/example_client.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,13 @@ def example_bulk_export():
106106
print(response.json())
107107

108108

109+
def example_bulk_export_last_event():
110+
raw_query = '+plugin:"SmbPlugin" +country:"Belgium"'
111+
query = RawQuery(raw_query)
112+
response = CLIENT.bulk_export_last_event([query])
113+
print(response.json())
114+
115+
109116
def example_bulk_service():
110117
raw_query = "+\"window.onload=function(){ url ='/webui';window.location.href=url;}\" +port:443"
111118
query = RawQuery(raw_query)
@@ -124,3 +131,4 @@ def example_bulk_service():
124131
example_get_plugins()
125132
example_bulk_export()
126133
example_bulk_service()
134+
example_bulk_export_last_event()

leakix/client.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,19 @@ def bulk_export(self, queries: Optional[List[Query]] = None):
177177
return ErrorResponse(response=r, response_json=r.json())
178178
return r
179179

180+
def bulk_export_last_event(self, queries: Optional[List[Query]] = None):
181+
response = self.bulk_export(queries)
182+
if response.is_success():
183+
for aggreg in response.json():
184+
events = aggreg.events
185+
sorted_events = sorted(
186+
events,
187+
key=lambda event: event.time,
188+
reverse=True,
189+
)
190+
aggreg.events = [sorted_events[0]]
191+
return response
192+
180193
def bulk_service(self, queries: Optional[List[Query]] = None):
181194
url = "%s/bulk/service" % (self.base_url)
182195
if queries is None or len(queries) == 0:

0 commit comments

Comments
 (0)