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

process lsblk data

This commit is contained in:
Kelly Brazil
2019-11-05 23:10:49 -06:00
parent c780aac3ab
commit 2bb7409887
2 changed files with 36 additions and 11 deletions

View File

@ -5,7 +5,7 @@ Usage:
Examples:
$ df | jc --df -p
$ df | jc --df -p
[
{
"filesystem": "devtmpfs",
@ -71,6 +71,7 @@ def process(proc_data):
[
{
"filesystem": string,
"size": string,
"1k-blocks": integer,
"used": integer,
"available": integer,
@ -100,7 +101,7 @@ def process(proc_data):
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError, TypeError):
except (ValueError):
entry[key] = None
return proc_data

View File

@ -107,17 +107,17 @@ def process(proc_data):
"group": string,
"mode": string,
"alignment": integer,
"min-io": integer,
"opt-io": integer,
"phy-sec": integer,
"log-sec": integer,
"min_io": integer,
"opt_io": integer,
"phy_sec": integer,
"log_sec": integer,
"rota": boolean,
"sched": string,
"rq-size": integer,
"disc-aln": integer,
"disc-gran": string,
"disc-max": string,
"disc-zero": boolean,
"rq_size": integer,
"disc_aln": integer,
"disc_gran": string,
"disc_max": string,
"disc_zero": boolean,
"wsame": string,
"wwn": string,
"rand": boolean,
@ -126,6 +126,27 @@ def process(proc_data):
}
]
'''
for entry in proc_data:
# boolean changes
int_list = ['rm', 'ro', 'ra', 'rota', 'disc_zero', 'rand']
for key in int_list:
if key in entry:
try:
key_int = bool(int(entry[key]))
entry[key] = key_int
except (ValueError):
entry[key] = None
# integer changes
int_list = ['alignment', 'min_io', 'opt_io', 'phy_sec', 'log_sec', 'rq_size', 'disc_aln']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
return proc_data
@ -165,6 +186,9 @@ def parse(data, raw=False):
output_line = dict(zip(headers, temp_line))
raw_output.append(output_line)
for entry in raw_output:
entry['name'] = entry['name'].encode('ascii', errors='ignore').decode()
if raw:
return raw_output
else: