diff --git a/pastafaristats/send_info_daemon.py b/pastafaristats/send_info_daemon.py index ef2310d..ca147be 100644 --- a/pastafaristats/send_info_daemon.py +++ b/pastafaristats/send_info_daemon.py @@ -17,6 +17,7 @@ import argparse import datetime import sched, time +from importlib import import_module #url="http://url/to/info" @@ -25,6 +26,8 @@ user_home=str(Path.home()) hostname=getfqdn() +modules_imported={} + def load_config(): yes_config=False @@ -74,6 +77,21 @@ def load_config(): if 'group' in config['DEFAULT']: group=config['DEFAULT']['group'] + + modules={} + + if 'modules' in config['DEFAULT']: + arr_modules=config['DEFAULT']['modules'].split(',') + + #load modules + + for module in arr_modules: + + if not module in modules_imported: + + modules_imported[module]=import_module(module) + + return url, group @@ -103,7 +121,12 @@ def run(url, group=''): mem_info=psutil.virtual_memory() - json_info=json.dumps({'net_info': network_info, 'cpu_idle': cpu_idle, 'cpus_idle': cpus_idle, 'cpu_number': cpu_number, 'disks_info': partitions, 'mem_info': mem_info, 'hostname': hostname, 'group': group}) + obj_stats={'net_info': network_info, 'cpu_idle': cpu_idle, 'cpus_idle': cpus_idle, 'cpu_number': cpu_number, 'disks_info': partitions, 'mem_info': mem_info, 'hostname': hostname, 'group': group} + + for module in modules_imported.values(): + obj_stats=module.stat(obj_stats) + + json_info=json.dumps(obj_stats) data = urllib.parse.urlencode({'data_json': json_info}) diff --git a/pastafaristats/utils/test.py b/pastafaristats/utils/test.py new file mode 100644 index 0000000..f7bc77e --- /dev/null +++ b/pastafaristats/utils/test.py @@ -0,0 +1,6 @@ + +def stat(obj_stats): + + obj_stats['test_data']={'pos': 0} + + return obj_stats