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

2.6 KiB

jc.parsers.w

jc - JSON CLI output utility w command output parser

Usage (cli):

$ w | jc --w

or

$ jc w

Usage (module):

import jc.parsers.w
result = jc.parsers.w.parse(w_command_output)

Compatibility:

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

Examples:

$ w | jc --w -p
[
  {
    "user": "root",
    "tty": "tty1",
    "from": null,
    "login_at": "07:49",
    "idle": "1:15m",
    "jcpu": "0.00s",
    "pcpu": "0.00s",
    "what": "-bash"
  },
  {
    "user": "root",
    "tty": "ttyS0",
    "from": null,
    "login_at": "06:24",
    "idle": "0.00s",
    "jcpu": "0.43s",
    "pcpu": "0.00s",
    "what": "w"
  },
  {
    "user": "root",
    "tty": "pts/0",
    "from": "192.168.71.1",
    "login_at": "06:29",
    "idle": "2:35m",
    "jcpu": "0.00s",
    "pcpu": "0.00s",
    "what": "-bash"
  }
]

$ w | jc --w -p -r
[
  {
    "user": "kbrazil",
    "tty": "tty1",
    "from": "-",
    "login_at": "07:49",
    "idle": "1:16m",
    "jcpu": "0.00s",
    "pcpu": "0.00s",
    "what": "-bash"
  },
  {
    "user": "kbrazil",
    "tty": "ttyS0",
    "from": "-",
    "login_at": "06:24",
    "idle": "2.00s",
    "jcpu": "0.46s",
    "pcpu": "0.00s",
    "what": "w"
  },
  {
    "user": "kbrazil",
    "tty": "pts/0",
    "from": "192.168.71.1",
    "login_at": "06:29",
    "idle": "2:36m",
    "jcpu": "0.00s",
    "pcpu": "0.00s",
    "what": "-bash"
  }
]

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,     # '-'' = null
    "tty":      string,     # '-'' = null
    "from":     string,     # '-'' = null
    "login_at": string,     # '-'' = null
    "idle":     string,     # '-'' = null
    "jcpu":     string,
    "pcpu":     string,
    "what":     string      # '-'' = null
  }
]

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.