2020-07-30 16:20:24 -07:00
2019-11-11 18:30:46 -08:00
# jc.parsers.history
2020-08-05 16:51:58 -07:00
jc - JSON CLI output utility `history` command output parser
2019-11-11 18:30:46 -08:00
2020-08-06 07:48:08 -07:00
This parser will output a list of dictionaries each containing `line` and `command` keys. If you would like a simple dictionary output, then use the `-r` command-line option or the `raw=True` argument in the `parse()` function.
2020-08-05 13:32:59 -07:00
Usage (cli):
2019-12-12 09:47:14 -08:00
2020-08-05 16:51:58 -07:00
$ history | jc --history
2019-11-11 18:30:46 -08:00
2020-08-05 13:32:59 -07:00
Usage (module):
import jc.parsers.history
result = jc.parsers.history.parse(history_command_output)
2019-12-12 09:21:20 -08:00
Compatibility:
2019-12-12 09:47:14 -08:00
2020-02-05 16:00:10 -08:00
'linux', 'darwin', 'cygwin', 'aix', 'freebsd'
2019-12-12 09:21:20 -08:00
2019-11-11 18:30:46 -08:00
Examples:
$ history | jc --history -p
[
{
2020-02-04 14:36:03 -08:00
"line": 118,
2019-11-11 18:30:46 -08:00
"command": "sleep 100"
},
{
2020-02-04 14:36:03 -08:00
"line": 119,
2019-11-11 18:30:46 -08:00
"command": "ls /bin"
},
{
2020-02-04 14:36:03 -08:00
"line": 120,
2019-11-11 18:30:46 -08:00
"command": "echo "hello""
},
{
2020-02-04 14:36:03 -08:00
"line": 121,
2019-11-11 18:30:46 -08:00
"command": "docker images"
},
...
]
$ history | jc --history -p -r
{
"118": "sleep 100",
"119": "ls /bin",
"120": "echo "hello"",
"121": "docker images",
...
}
2020-07-30 16:20:24 -07:00
2019-12-14 23:35:42 -08:00
## info
```python
2020-07-30 16:20:24 -07:00
info()
2019-12-14 23:35:42 -08:00
```
2020-07-30 16:20:24 -07:00
2019-11-11 18:30:46 -08:00
## process
```python
process(proc_data)
```
2019-11-12 11:28:10 -08:00
Final processing to conform to the schema.
Parameters:
2019-11-13 08:04:40 -08:00
proc_data: (dictionary) raw structured data to process
2019-11-12 11:28:10 -08:00
Returns:
2019-12-17 09:56:09 -08:00
List of dictionaries. Structured data with the following schema:
2019-11-11 18:30:46 -08:00
[
{
2020-02-04 14:36:03 -08:00
"line": integer,
2019-11-11 18:30:46 -08:00
"command": string
}
]
2020-07-30 16:20:24 -07:00
2019-11-11 18:30:46 -08:00
## parse
```python
parse(data, raw=False, quiet=False)
```
2019-11-12 11:18:00 -08:00
Main text parsing function
2019-11-11 18:30:46 -08:00
2019-11-12 11:18:00 -08:00
Parameters:
2019-11-11 18:30:46 -08:00
2019-11-12 11:18:00 -08:00
data: (string) text data to parse
raw: (boolean) output preprocessed JSON if True
quiet: (boolean) suppress warning messages if True
Returns:
2019-12-17 10:09:19 -08:00
Dictionary of raw structured data or
list of dictionaries of processed structured data
2019-11-11 18:30:46 -08:00