[Home](https://kellyjonbrazil.github.io/jc/) # jc.parsers.last jc - JSON CLI output utility `last` and `lastb` command output parser Supports `-w` and `-F` options. Calculated epoch time fields are naive (i.e. based on the local time of the system the parser is run on) since there is no timezone information in the `last` command output. Usage (cli): $ last | jc --last or $ jc last Usage (module): import jc.parsers.last result = jc.parsers.last.parse(last_command_output) Schema: [ { "user": string, "tty": string, "hostname": string, "login": string, "logout": string, "duration": string, "login_epoch": integer, # (naive) available with last -F option "logout_epoch": integer, # (naive) available with last -F option "duration_seconds": integer # available with last -F option } ] Examples: $ last -F | jc --last -p [ { "user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Dec 28 17:24:10 2020", "logout": "still logged in" }, { "user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Dec 28 17:24:10 2020", "logout": "Mon Dec 28 17:25:01 2020", "duration": "00:00", "login_epoch": 1565891826, "logout_epoch": 1565895404, "duration_seconds": 3578 }, { "user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Dec 28 17:24:10 2020", "logout": "Mon Dec 28 17:25:01 2020", "duration": "00:00", "login_epoch": 1565891826, "logout_epoch": 1565895404, "duration_seconds": 3578 }, ... ] $ last | jc --last -p -r [ { "user": "kbrazil", "tty": "ttys002", "hostname": "-", "login": "Thu Feb 27 14:31", "logout": "still_logged_in" }, { "user": "kbrazil", "tty": "ttys003", "hostname": "-", "login": "Thu Feb 27 10:38", "logout": "10:38", "duration": "00:00" }, { "user": "kbrazil", "tty": "ttys003", "hostname": "-", "login": "Thu Feb 27 10:18", "logout": "10:18", "duration": "00:00" }, ... ] ## info ```python info() ``` Provides parser metadata (version, author, etc.) ## parse ```python parse(data, raw=False, quiet=False) ``` Main text parsing function Parameters: data: (string) text data to parse raw: (boolean) output preprocessed JSON if True quiet: (boolean) suppress warning messages if True Returns: List of Dictionaries. Raw or processed structured data. ## Parser Information Compatibility: linux, darwin, aix, freebsd Version 1.7 by Kelly Brazil (kellyjonbrazil@gmail.com)