From b6358699abb5882706bcf51e0d1d92a7e5843acd Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Tue, 1 Aug 2017 11:20:15 -0700 Subject: [PATCH] Allow importing the module without side-effects For testing purposes. Signed-off-by: Zack Cerza --- cephmetrics/__init__.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/cephmetrics/__init__.py b/cephmetrics/__init__.py index 324c620..5684e45 100644 --- a/cephmetrics/__init__.py +++ b/cephmetrics/__init__.py @@ -1,8 +1,16 @@ #!/usr/bin/env python +import sys +TEST_MODE = (sys.argv[0].split('/')[-1] == 'py.test') + import os import glob import logging -import collectd + +try: + import collectd +except ImportError: + if not TEST_MODE: + raise from collectors.mon import Mon from collectors.rgw import RGW @@ -72,7 +80,6 @@ class Ceph(object): def write_stats(role_metrics, stats): flat_stats = flatten_dict(stats, '.') - for key_name in flat_stats: attr_name = key_name.split('.')[-1] @@ -160,16 +167,9 @@ def read_callback(): write_stats(ISCSIGateway.metrics, iscsi_stats) - -if __name__ == '__main__': - - # run interactively or maybe test the code - +if TEST_MODE: pass - else: - CEPH = Ceph() - collectd.register_config(configure_callback) collectd.register_read(read_callback) -- 2.47.3