From 897a93b62e415adf398428773569d52ff1bde960 Mon Sep 17 00:00:00 2001 From: dave Date: Tue, 3 Oct 2017 21:18:44 -0700 Subject: [PATCH] add option to omit filesystems --- pymonitor/__init__.py | 2 +- pymonitor/monitors/diskspace.py | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pymonitor/__init__.py b/pymonitor/__init__.py index 485f44a..b3f4756 100644 --- a/pymonitor/__init__.py +++ b/pymonitor/__init__.py @@ -1 +1 @@ -__version__ = "0.1.1" +__version__ = "0.1.2" diff --git a/pymonitor/monitors/diskspace.py b/pymonitor/monitors/diskspace.py index f8ec0db..604efa5 100644 --- a/pymonitor/monitors/diskspace.py +++ b/pymonitor/monitors/diskspace.py @@ -2,12 +2,13 @@ from os import statvfs import logging -def diskspace(filesystems=[], discover=True): +def diskspace(filesystems=[], discover=True, omit=[]): """ Emit disk space usage statistics for the passed filesystems. :param filesystems: list of mountpoints to gather stats for :param discover: automatically find non-temporary filesystems to gather statistics for. Duplicates from the filesystems param will be ignored. + :param omit: list of paths that, if prefix a discovered mountpoint, to not report on """ filesystems = [f.rstrip("/") for f in filesystems] if discover: @@ -20,6 +21,8 @@ def diskspace(filesystems=[], discover=True): filesystems.append(mountpoint) for fs in set(filesystems): + if any([fs.startswith(i) for i in omit or []]): + continue try: stats = statvfs(fs) except FileNotFoundError: @@ -92,7 +95,6 @@ mapping = { if __name__ == '__main__': - import sys from pprint import pprint - for item in diskspace(filesystems=sys.argv[1:]): + for item in diskspace(filesystems=[], discover=True, omit=None): pprint(item)