From e12e31153710f971d52ccf47c1eaf0f38381409c Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Fri, 16 Nov 2012 00:09:33 -0500 Subject: [PATCH] Added some routines to baby mm. --- python_apps/media-monitor2/baby.py | 40 +++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/python_apps/media-monitor2/baby.py b/python_apps/media-monitor2/baby.py index 71ddbdcfa..5997d9481 100644 --- a/python_apps/media-monitor2/baby.py +++ b/python_apps/media-monitor2/baby.py @@ -1,12 +1,40 @@ # -*- coding: utf-8 -*- -from media.saas.launcher import setup_logger, setup_global +import re +from media.saas.launcher import setup_logger, setup_global, MM2 +from media.saas.airtimeinstance import AirtimeInstance +from os.path import isdir, join, abspath +from os import listdir -def autoscan_instances(log_config): - print("privet mang") +def list_dirs(d): return (x for x in listdir(d) if isdir(x)) -def main(log_config, log_path): +def filter_instance(d): return bool(re.match('.+/\d+$',d)) + +def get_name(p): return re.match('.+/(\d+)$',p).group(1) + +def filter_instances(l): return (x for x in l if filter_instance(l)) + +def autoscan_instances(main_cfg): + root = main_cfg['instance_root'] + instances = [] + for instance_machine in list_dirs(root): + instance_machine = join(root, instance_machine) + for instance_root in filter_instances(list_dirs(instance_machine)): + full_path = abspath(join(root,instance_root)) + ai = AirtimeInstance.root_make(get_name(full_path), full_path) + instances.append(ai) + return instances + +def main(main_cfg): + log_config, log_path = main_cfg['log_config'], main_cfg['log_path'] log = setup_logger(log_config, log_path) setup_global(log) - autoscan_instances(log_config) + for instance in autoscan_instances(main_cfg): + MM2(instance).start() -if __name__ == '__main__': main('shen','sheni') +if __name__ == '__main__': + fake = { + 'log_config' : '', + 'log_path' : '', + 'instance_root' : '' + } + main(fake)