nice output and fixed bug
This commit is contained in:
parent
709e5818de
commit
fb53dbad7d
55
disk_mon.py
55
disk_mon.py
|
@ -15,38 +15,48 @@ class diskmon(object):
|
|||
def __init__(self):
|
||||
pass
|
||||
|
||||
def get_part(self):
|
||||
uuids = os.listdir("/dev/disk/by-uuid")
|
||||
for uuid in uuids:
|
||||
part = []
|
||||
part.append("/dev/" + os.readlink("/dev/disk/by-uuid/" + uuid)[6:])
|
||||
part.append(uuid)
|
||||
yield part
|
||||
# def get_part(self):
|
||||
# uuids = os.listdir("/dev/disk/by-uuid")
|
||||
# for uuid in uuids:
|
||||
# part = []
|
||||
# part.append("/dev/" + os.readlink("/dev/disk/by-uuid/" + uuid)[6:])
|
||||
# part.append(uuid)
|
||||
# yield part
|
||||
|
||||
def gather(self):
|
||||
"""gather the actual information"""
|
||||
|
||||
self.partitions = [] #information about all partitions (list of lists)
|
||||
#uuids = os.listdir("/dev/disk/by-uuid") #folder contains symlinks to the actual disk devices
|
||||
#for uuid in uuids: #write /dev/names as keys and uuids as values in the dictionary
|
||||
uuids = os.listdir("/dev/disk/by-uuid") #folder contains symlinks to the actual disk devices
|
||||
for uuid in uuids: #write /dev/names as keys and uuids as values in the dictionary
|
||||
#part = []
|
||||
part = {}
|
||||
#part.append("/dev/" + os.readlink("/dev/disk/by-uuid/" + uuid)[6:])
|
||||
#part.append(uuid)
|
||||
for part in self.get_part():
|
||||
part["device"] = str("/dev/" + os.readlink("/dev/disk/by-uuid/" + uuid)[6:])
|
||||
part["uuid"] = uuid
|
||||
|
||||
#for part in self.get_part():
|
||||
|
||||
#getting mountpoint for partition from mtab
|
||||
mtab = open("/etc/mtab", "r")
|
||||
#for line in
|
||||
for line in mtab:
|
||||
if part[0] in line:
|
||||
part.append(line.split()[1])
|
||||
part.append(line.split()[2])
|
||||
if part["device"] in line:
|
||||
#part.append(line.split()[1])
|
||||
#part.append(line.split()[2])
|
||||
part["mountpoint"] = line.split()[1]
|
||||
part["filesystem"] = line.split()[2]
|
||||
#getting block infos
|
||||
if os.path.ismount(part[2]):
|
||||
fs = os.statvfs(part[2])
|
||||
part.append(fs.f_bsize) #blocksize
|
||||
part.append(fs.f_blocks) #total blocks
|
||||
part.append(fs.f_bavail) #free blocks
|
||||
if os.path.ismount(part["mountpoint"]):
|
||||
fs = os.statvfs(part["mountpoint"])
|
||||
#part.append(fs.f_bsize) #blocksize
|
||||
#part.append(fs.f_blocks) #total blocks
|
||||
#part.append(fs.f_bavail) #free blocks
|
||||
part["blocksize"] = fs.f_bsize #blocksize
|
||||
part["total blocks"] = fs.f_blocks #total blocks
|
||||
part["free blocks"] = fs.f_bavail #free blocks
|
||||
|
||||
break
|
||||
|
||||
mtab.close()
|
||||
|
@ -54,17 +64,14 @@ class diskmon(object):
|
|||
#adding partition to list
|
||||
self.partitions.append(part)
|
||||
|
||||
|
||||
#output
|
||||
if __name__ == "__main__":
|
||||
diskmoninstance = diskmon()
|
||||
diskmoninstance.gather()
|
||||
#print diskmoninstance.partitions
|
||||
for partition in diskmoninstance.partitions:
|
||||
#print "device:\t\t" + str(partition[0]) + "\nuuid:\t\t" + str(partition[1]) + "\nmountpoint:\t" + str(partition[2]) + "\nfilesystem:\t" + str(partition[3]) + "\nblocksize:\t" + str(partition[4]) + "\ntotal blocks:\t" + str(partition[5]) + "\nfree blocks:\t" + str(partition[6]) + "\n"
|
||||
|
||||
for item in partition:
|
||||
print item
|
||||
print "device:\t\t" + str(partition["device"]) + "\nuuid:\t\t" + str(partition["uuid"])
|
||||
if partition.has_key("mountpoint"):
|
||||
print "mountpoint:\t" + str(partition["mountpoint"]) + "\nfilesystem:\t" + str(partition["filesystem"]) + "\nblocksize:\t" + str(partition["blocksize"]) + "\ntotal blocks:\t" + str(partition["total blocks"]) + "\nfree blocks:\t" + str(partition["free blocks"]) + "\n"
|
||||
|
||||
|
||||
|
||||
|
|
Reference in New Issue