mirror of
https://github.com/KevinMidboe/Node-Com-Handler.git
synced 2025-10-29 17:50:27 +00:00
Added better comments and cleaned up by making seperate converting functions and some small error handling.
This commit is contained in:
@@ -3,10 +3,14 @@
|
|||||||
# @Author: KevinMidboe
|
# @Author: KevinMidboe
|
||||||
# @Date: 2017-01-28 10:54:06
|
# @Date: 2017-01-28 10:54:06
|
||||||
# @Last Modified by: KevinMidboe
|
# @Last Modified by: KevinMidboe
|
||||||
# @Last Modified time: 2017-01-28 13:23:07
|
# @Last Modified time: 2017-01-31 21:40:34
|
||||||
|
|
||||||
|
# f_avail = free blocks avail to non sudo
|
||||||
|
# frsize = fundamental file sys byte size
|
||||||
|
# f_blocks = total number of blocks in the filesystem
|
||||||
|
|
||||||
from os import statvfs
|
from os import statvfs
|
||||||
|
|
||||||
def sizeof(num, suffix='B'):
|
def sizeof(num, suffix='B'):
|
||||||
for unit in ['','K','M','G','T','P','E','Z']:
|
for unit in ['','K','M','G','T','P','E','Z']:
|
||||||
if abs(num) < 1024.0:
|
if abs(num) < 1024.0:
|
||||||
@@ -14,13 +18,18 @@ def sizeof(num, suffix='B'):
|
|||||||
num /= 1024.0
|
num /= 1024.0
|
||||||
return "%.1f%s%s" % (num, 'Y', suffix)
|
return "%.1f%s%s" % (num, 'Y', suffix)
|
||||||
|
|
||||||
|
# diskUsage uses statvfs to calculate disk size and availability for given disk
|
||||||
def diskUsage(path='/'):
|
def diskUsage(path='/'):
|
||||||
s = statvfs(path)
|
try:
|
||||||
byteLeft = s.f_bavail * s.f_frsize
|
s = statvfs(path)
|
||||||
byteTotal = s.f_blocks * s.f_frsize
|
byteLeft = s.f_bavail * s.f_frsize
|
||||||
byteUsed = byteTotal-byteLeft
|
byteTotal = s.f_blocks * s.f_frsize
|
||||||
|
byteUsed = byteTotal-byteLeft
|
||||||
|
|
||||||
return { 'left':sizeof(byteLeft), 'used':sizeof(byteUsed), 'total':sizeof(byteTotal) }
|
return { 'left':sizeof(byteLeft), 'used':sizeof(byteUsed), 'total':sizeof(byteTotal) }
|
||||||
|
|
||||||
|
except FileNotFoundError:
|
||||||
|
return None
|
||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
n = diskUsage('/media/hdd1')
|
n = diskUsage('/media/hdd1')
|
||||||
|
|||||||
Reference in New Issue
Block a user