Skip to the content.

Home

jc.parsers.du

jc - JSON Convert du command output parser

The du -h option is not supported with the default output. If you would like to use du -h or other options that change the output, be sure to use jc --raw (cli) or raw=True (module).

Usage (cli):

$ du | jc --du

or

$ jc du

Usage (module):

import jc
result = jc.parse('du', du_command_output)

Schema:

[
  {
    "size":     integer,
    "name":     string
  }
]

Examples:

$ du /usr | jc --du -p
[
  {
    "size": 104608,
    "name": "/usr/bin"
  },
  {
    "size": 56,
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  {
    "size": 0,
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  {
    "size": 0,
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  {
    "size": 0,
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  {
    "size": 1008,
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  ...
]

$ du /usr | jc --du -p -r
[
  {
    "size": "104608",
    "name": "/usr/bin"
  },
  {
    "size": "56",
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  {
    "size": "0",
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  {
    "size": "0",
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  {
    "size": "0",
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  {
    "size": "1008",
    "name": "/usr/standalone/firmware/iBridge1_1Customer.bundle/..."
  },
  ...
]

parse

def parse(data, raw=False, quiet=False)

Main text parsing function

Parameters:

data:        (string)  text data to parse
raw:         (boolean) unprocessed output 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

Source: jc/parsers/du.py

Version 1.6 by Kelly Brazil (kellyjonbrazil@gmail.com)