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

2.5 KiB

jc.parsers.passwd

jc - JSON CLI output utility /etc/passwd file Parser

Usage (cli):

$ cat /etc/passwd | jc --passwd

Usage (module):

import jc.parsers.passwd
result = jc.parsers.passwd.parse(passwd_file_output)

Compatibility:

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

Examples:

$ cat /etc/passwd | jc --passwd -p
[
  {
    "username": "nobody",
    "password": "*",
    "uid": -2,
    "gid": -2,
    "comment": "Unprivileged User",
    "home": "/var/empty",
    "shell": "/usr/bin/false"
  },
  {
    "username": "root",
    "password": "*",
    "uid": 0,
    "gid": 0,
    "comment": "System Administrator",
    "home": "/var/root",
    "shell": "/bin/sh"
  },
  {
    "username": "daemon",
    "password": "*",
    "uid": 1,
    "gid": 1,
    "comment": "System Services",
    "home": "/var/root",
    "shell": "/usr/bin/false"
  },
  ...
]

$ cat /etc/passwd | jc --passwd -p -r
[
  {
    "username": "nobody",
    "password": "*",
    "uid": "-2",
    "gid": "-2",
    "comment": "Unprivileged User",
    "home": "/var/empty",
    "shell": "/usr/bin/false"
  },
  {
    "username": "root",
    "password": "*",
    "uid": "0",
    "gid": "0",
    "comment": "System Administrator",
    "home": "/var/root",
    "shell": "/bin/sh"
  },
  {
    "username": "daemon",
    "password": "*",
    "uid": "1",
    "gid": "1",
    "comment": "System Services",
    "home": "/var/root",
    "shell": "/usr/bin/false"
  },
  ...
]

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:

[
  {
    "username":  string,
    "password":  string,
    "uid":       integer,
    "gid":       integer,
    "comment":   string,
    "home":      string,
    "shell":     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.