1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/docs/parsers/who.md
Kelly Brazil 1d0ad2f045 doc fixes
2021-01-04 18:01:16 -08:00

3.1 KiB

jc.parsers.who

jc - JSON CLI output utility who command output parser

Accepts any of the following who options (or no options): -aTH

Usage (cli):

$ who | jc --who

or

$ jc who

Usage (module):

import jc.parsers.who
result = jc.parsers.who.parse(who_command_output)

Compatibility:

'linux', 'darwin', 'cygwin', 'aix', 'freebsd'

Examples:

$ who -a | jc --who -p
[
  {
    "event": "reboot",
    "time": "Feb 7 23:31",
    "pid": 1
  },
  {
    "user": "joeuser",
    "writeable_tty": "-",
    "tty": "console",
    "time": "Feb 7 23:32",
    "idle": "old",
    "pid": 105
  },
  {
    "user": "joeuser",
    "writeable_tty": "+",
    "tty": "ttys000",
    "time": "Feb 13 16:44",
    "idle": ".",
    "pid": 51217,
    "comment": "term=0 exit=0"
  },
  {
    "user": "joeuser",
    "writeable_tty": "?",
    "tty": "ttys003",
    "time": "Feb 28 08:59",
    "idle": "01:36",
    "pid": 41402
  },
  {
    "user": "joeuser",
    "writeable_tty": "+",
    "tty": "ttys004",
    "time": "Mar 1 16:35",
    "idle": ".",
    "pid": 15679,
    "from": "192.168.1.5"
  }
]

$ who -a | jc --who -p -r
[
  {
    "event": "reboot",
    "time": "Feb 7 23:31",
    "pid": "1"
  },
  {
    "user": "joeuser",
    "writeable_tty": "-",
    "tty": "console",
    "time": "Feb 7 23:32",
    "idle": "old",
    "pid": "105"
  },
  {
    "user": "joeuser",
    "writeable_tty": "+",
    "tty": "ttys000",
    "time": "Feb 13 16:44",
    "idle": ".",
    "pid": "51217",
    "comment": "term=0 exit=0"
  },
  {
    "user": "joeuser",
    "writeable_tty": "?",
    "tty": "ttys003",
    "time": "Feb 28 08:59",
    "idle": "01:36",
    "pid": "41402"
  },
  {
    "user": "joeuser",
    "writeable_tty": "+",
    "tty": "ttys004",
    "time": "Mar 1 16:35",
    "idle": ".",
    "pid": "15679",
    "from": "192.168.1.5"
  }
]

info

info()

process

process(proc_data)

Final processing to conform to the schema.

Parameters:

proc_data:   (List of Dictionaries) raw structured data to process

Returns:

List of Dictionaries. Structured data with the following schema:

[
  {
    "user":            string,
    "event":           string,
    "writeable_tty":   string,
    "tty":             string,
    "time":            string,
    "idle":            string,
    "pid":             integer,
    "from":            string,
    "comment":         string
  }
]

parse

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.