def _get_partition_names():
	all_part_info = parse_parts()
	if len(all_part_info)==0:
		raise OSError("As no partitions were detected, it is likely there was an error with reading /proc/partitions. Please check to see that the file format has not changed.")

	if "name" not in all_part_info[0].keys():
		raise OSError("The \"name\" property could not be found. Check to see if the format of /proc/partitions has changed.")

	return [part_info["name"] for part_info in all_part_info]
Exemple #2
0
	udevadm_key_vals = [tuple(line.split('=')[:2]) for line in udevadm_lines]
	return dict(udevadm_key_vals)

# list[str] -> dict{str:dict{str:str}}
def parse_devs(dev_name_list):
	all_dev_info = {}
	for dev_name in dev_name_list:
		all_dev_info[dev_name] = _parse_dev(dev_name)
	return all_dev_info

# dict{str:dict{str:str}},str,str -> None
def _print_attrib(dev_info,attrib,attrib_str):
	if attrib in dev_info:
		print "{0}: {1}".format(attrib_str,dev_info[attrib])

if __name__=="__main__":
	from parse_parts import parse_parts
	all_parts_info = parse_parts()
	all_parts_names = [part_info["name"] for part_info in all_parts_info]
	all_devs_info = parse_devs(all_parts_names)
	
	for dev_name in all_devs_info:
		print dev_name
		_print_attrib(all_devs_info[dev_name],"DEVNAME","device name")
		_print_attrib(all_devs_info[dev_name],"ID_VENDOR","vendor")
		_print_attrib(all_devs_info[dev_name],"ID_MODEL","model")
		_print_attrib(all_devs_info[dev_name],"ID_FS_LABEL_ENC","encoded label")
		_print_attrib(all_devs_info[dev_name],"ID_FS_TYPE","filesystem type")
		_print_attrib(all_devs_info[dev_name],"DEVTYPE","device type")
		print