1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-19 00:17:51 +02:00

df fix for changing header names when -h used

This commit is contained in:
Kelly Brazil
2019-11-04 12:39:43 -08:00
parent 8934a7d832
commit f7350959c9

View File

@ -3,42 +3,63 @@
Usage: Usage:
specify --df as the first argument if the piped input is coming from df specify --df as the first argument if the piped input is coming from df
Example: Examples:
$ df | jc --df -p $ df | jc --df -p
[ [
{ {
"filesystem": "udev", "filesystem": "devtmpfs",
"1k-blocks": "977500", "1k-blocks": 1918820,
"used": 0,
"available": 1918820,
"use_percent": 0,
"mounted": "/dev"
},
{
"filesystem": "tmpfs",
"1k-blocks": 1930668,
"used": 0,
"available": 1930668,
"use_percent": 0,
"mounted": "/dev/shm"
},
{
"filesystem": "tmpfs",
"1k-blocks": 1930668,
"used": 11800,
"available": 1918868,
"use_percent": 1,
"mounted": "/run"
},
...
]
$ df | jc --df -p -r
[
{
"filesystem": "devtmpfs",
"1k-blocks": "1918820",
"used": "0", "used": "0",
"available": "977500", "available": "1918820",
"use_percent": "0%", "use_percent": "0%",
"mounted": "/dev" "mounted": "/dev"
}, },
{ {
"filesystem": "tmpfs", "filesystem": "tmpfs",
"1k-blocks": "201732", "1k-blocks": "1930668",
"used": "1204", "used": "0",
"available": "200528", "available": "1930668",
"use_percent": "1%", "use_percent": "0%",
"mounted": "/run" "mounted": "/dev/shm"
},
{
"filesystem": "/dev/sda2",
"1k-blocks": "20508240",
"used": "5748312",
"available": "13695124",
"use_percent": "30%",
"mounted": "/"
}, },
{ {
"filesystem": "tmpfs", "filesystem": "tmpfs",
"1k-blocks": "1008648", "1k-blocks": "1930668",
"used": "0", "used": "11800",
"available": "1008648", "available": "1918868",
"use_percent": "0%", "use_percent": "1%",
"mounted": "/dev/shm" "mounted": "/run"
} },
... ...
] ]
""" """
@ -52,7 +73,7 @@ def process(proc_data):
try: try:
blocks_int = int(entry[k]) blocks_int = int(entry[k])
entry[k] = blocks_int entry[k] = blocks_int
except ValueError: except (ValueError, TypeError):
entry[k] = None entry[k] = None
# change 'used' to int # change 'used' to int
@ -60,7 +81,7 @@ def process(proc_data):
try: try:
used_int = int(entry['used']) used_int = int(entry['used'])
entry['used'] = used_int entry['used'] = used_int
except ValueError: except (ValueError, TypeError):
entry['used'] = None entry['used'] = None
# change 'available' to int # change 'available' to int
@ -68,8 +89,10 @@ def process(proc_data):
try: try:
available_int = int(entry['available']) available_int = int(entry['available'])
entry['available'] = available_int entry['available'] = available_int
except ValueError: except (ValueError, TypeError):
entry['available'] = None entry['available'] = None
else:
entry['available'] = None
# remove percent sign from 'use_percent' and change to int # remove percent sign from 'use_percent' and change to int
if 'use_percent' in entry: if 'use_percent' in entry:
@ -77,7 +100,7 @@ def process(proc_data):
use_percent_int = entry['use_percent'].rstrip('%') use_percent_int = entry['use_percent'].rstrip('%')
use_percent_int = int(use_percent_int) use_percent_int = int(use_percent_int)
entry['use_percent'] = use_percent_int entry['use_percent'] = use_percent_int
except ValueError: except (ValueError, TypeError):
entry['use_percent'] = None entry['use_percent'] = None
return proc_data return proc_data