Improved handling of (un)mounted drives/partitions.

richese provided base for new options.
This commit is contained in:
Douglas Eddie 2015-11-19 23:28:30 +00:00 committed by enkore
parent 87c01278f7
commit 1c4f941304

View File

@ -13,25 +13,43 @@ class Disk(IntervalModule):
"""
settings = (
"format", "path",
"format",
"path",
("divisor", "divide all byte values by this value, default is 1024**3 (gigabyte)"),
("display_limit", "if more space is available than this limit the module is hidden"),
("critical_limit", "critical space limit (see critical_color)"),
("critical_color", "the critical color"),
("color", "the common color"),
("round_size", "precision, None for INT"),
("mounted_only", "display only if path is a valid mountpoint"),
"format_not_mounted",
"color_not_mounted"
)
required = ("path",)
color = "#FFFFFF"
color_not_mounted = "#FFFFFF"
critical_color = "#FF0000"
format = "{free}/{avail}"
format_not_mounted = None
divisor = 1024 ** 3
display_limit = float('Inf')
critical_limit = 0
round_size = 2
mounted_only = False
def run(self):
try:
stat = os.statvfs(self.path)
except Exception:
if self.mounted_only:
self.output = {}
else:
self.output = {} if not self.format_not_mounted else {
"full_text": self.format_not_mounted,
"color": self.color_not_mounted,
}
return
available = (stat.f_bsize * stat.f_bavail) / self.divisor
if available > self.display_limit: