|
11 | 11 | import code42cli.cmds.search.options as searchopt |
12 | 12 | import code42cli.errors as errors |
13 | 13 | from code42cli.cmds.search.cursor_store import FileEventCursorStore |
| 14 | +from code42cli.cmds.securitydata_output_formats import ( |
| 15 | + get_file_events_output_format_func, |
| 16 | +) |
14 | 17 | from code42cli.logger import get_main_cli_logger |
| 18 | +from code42cli.options import format_option |
15 | 19 | from code42cli.options import incompatible_with |
16 | 20 | from code42cli.options import OrderedGroup |
17 | 21 | from code42cli.options import sdk_options |
18 | | -from code42cli.output_formats import extraction_format_option |
19 | | -from code42cli.output_formats import format_option |
20 | | - |
| 22 | +from code42cli.output_formats import get_output_format_func |
21 | 23 |
|
22 | 24 | logger = get_main_cli_logger() |
23 | 25 |
|
|
37 | 39 | SEARCH_DEFAULT_HEADER["sha256Checksum"] = "SHA256Checksum" |
38 | 40 |
|
39 | 41 |
|
| 42 | +file_events_format_option = click.option( |
| 43 | + "-f", |
| 44 | + "--format", |
| 45 | + type=click.Choice(enum.FileEventsOutputFormat(), case_sensitive=False), |
| 46 | + help="The output format of the result. Defaults to table format.", |
| 47 | + default=enum.FileEventsOutputFormat.TABLE, |
| 48 | +) |
| 49 | + |
| 50 | + |
40 | 51 | search_options = searchopt.create_search_options("file events") |
41 | 52 |
|
42 | 53 |
|
@@ -149,7 +160,7 @@ def file_event_options(f): |
149 | 160 | f = process_owner_option(f) |
150 | 161 | f = tab_url_option(f) |
151 | 162 | f = include_non_exposure_option(f) |
152 | | - f = extraction_format_option(f) |
| 163 | + f = file_events_format_option(f) |
153 | 164 | f = saved_search_option(f) |
154 | 165 | return f |
155 | 166 |
|
@@ -196,18 +207,20 @@ def search( |
196 | 207 | **kwargs |
197 | 208 | ): |
198 | 209 | """Search for file events.""" |
| 210 | + output_header = ext.try_get_default_header( |
| 211 | + include_all, SEARCH_DEFAULT_HEADER, format |
| 212 | + ) |
| 213 | + format_func = get_file_events_output_format_func(format) |
199 | 214 | cursor = ( |
200 | 215 | _get_file_event_cursor_store(state.profile.name) if use_checkpoint else None |
201 | 216 | ) |
202 | | - |
203 | 217 | handlers = ext.create_handlers( |
204 | 218 | state.sdk, |
205 | 219 | FileEventExtractor, |
206 | 220 | cursor, |
207 | 221 | use_checkpoint, |
208 | | - include_all, |
209 | | - output_format=format, |
210 | | - output_header=SEARCH_DEFAULT_HEADER, |
| 222 | + format_func=format_func, |
| 223 | + output_header=output_header, |
211 | 224 | ) |
212 | 225 | extractor = _get_file_event_extractor(state.sdk, handlers) |
213 | 226 | extractor.use_or_query = or_query |
@@ -237,10 +250,11 @@ def saved_search(state): |
237 | 250 | @sdk_options() |
238 | 251 | def _list(state, format=None): |
239 | 252 | """List available saved searches.""" |
| 253 | + format_func = get_output_format_func(format) |
240 | 254 | response = state.sdk.securitydata.savedsearches.get() |
241 | 255 | result = response["searches"] |
242 | 256 | if result: |
243 | | - output = format(result, _HEADER_KEYS_MAP) |
| 257 | + output = format_func(result, _HEADER_KEYS_MAP) |
244 | 258 | echo(output) |
245 | 259 |
|
246 | 260 |
|
|
0 commit comments