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:
@ -5,7 +5,7 @@ Usage:
|
|||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
$ df | jc --df -p
|
$ df | jc --df -p
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"filesystem": "devtmpfs",
|
"filesystem": "devtmpfs",
|
||||||
@ -71,6 +71,7 @@ def process(proc_data):
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"filesystem": string,
|
"filesystem": string,
|
||||||
|
"size": string,
|
||||||
"1k-blocks": integer,
|
"1k-blocks": integer,
|
||||||
"used": integer,
|
"used": integer,
|
||||||
"available": integer,
|
"available": integer,
|
||||||
@ -100,7 +101,7 @@ def process(proc_data):
|
|||||||
try:
|
try:
|
||||||
key_int = int(entry[key])
|
key_int = int(entry[key])
|
||||||
entry[key] = key_int
|
entry[key] = key_int
|
||||||
except (ValueError, TypeError):
|
except (ValueError):
|
||||||
entry[key] = None
|
entry[key] = None
|
||||||
|
|
||||||
return proc_data
|
return proc_data
|
||||||
|
@ -107,17 +107,17 @@ def process(proc_data):
|
|||||||
"group": string,
|
"group": string,
|
||||||
"mode": string,
|
"mode": string,
|
||||||
"alignment": integer,
|
"alignment": integer,
|
||||||
"min-io": integer,
|
"min_io": integer,
|
||||||
"opt-io": integer,
|
"opt_io": integer,
|
||||||
"phy-sec": integer,
|
"phy_sec": integer,
|
||||||
"log-sec": integer,
|
"log_sec": integer,
|
||||||
"rota": boolean,
|
"rota": boolean,
|
||||||
"sched": string,
|
"sched": string,
|
||||||
"rq-size": integer,
|
"rq_size": integer,
|
||||||
"disc-aln": integer,
|
"disc_aln": integer,
|
||||||
"disc-gran": string,
|
"disc_gran": string,
|
||||||
"disc-max": string,
|
"disc_max": string,
|
||||||
"disc-zero": boolean,
|
"disc_zero": boolean,
|
||||||
"wsame": string,
|
"wsame": string,
|
||||||
"wwn": string,
|
"wwn": string,
|
||||||
"rand": boolean,
|
"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
|
return proc_data
|
||||||
|
|
||||||
|
|
||||||
@ -165,6 +186,9 @@ def parse(data, raw=False):
|
|||||||
output_line = dict(zip(headers, temp_line))
|
output_line = dict(zip(headers, temp_line))
|
||||||
raw_output.append(output_line)
|
raw_output.append(output_line)
|
||||||
|
|
||||||
|
for entry in raw_output:
|
||||||
|
entry['name'] = entry['name'].encode('ascii', errors='ignore').decode()
|
||||||
|
|
||||||
if raw:
|
if raw:
|
||||||
return raw_output
|
return raw_output
|
||||||
else:
|
else:
|
||||||
|
Reference in New Issue
Block a user