CC-5990, CC-5991 - Python cleanup, removed need for /usr/lib/airtime
This commit is contained in:
parent
cd102b984b
commit
875a9dfd8b
115 changed files with 248 additions and 212 deletions
48
python_apps/media-monitor/mm2/baby.py
Normal file
48
python_apps/media-monitor/mm2/baby.py
Normal file
|
@ -0,0 +1,48 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
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, exists, dirname
|
||||
from os import listdir
|
||||
|
||||
def list_dirs(d): return (x for x in listdir(d) if isdir(join(d,x)))
|
||||
|
||||
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(x))
|
||||
|
||||
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(instance_machine,instance_root))
|
||||
ai = AirtimeInstance.root_make(get_name(full_path), full_path)
|
||||
instances.append(ai)
|
||||
return instances
|
||||
|
||||
def verify_exists(p):
|
||||
if not exists(p): raise Exception("%s must exist" % p)
|
||||
|
||||
def main(main_cfg):
|
||||
log_config, log_path = main_cfg['log_config'], main_cfg['log_path']
|
||||
verify_exists(log_config)
|
||||
log = setup_logger(log_config, log_path)
|
||||
setup_global(log)
|
||||
for instance in autoscan_instances(main_cfg):
|
||||
print("Launching instance: %s" % str(instance))
|
||||
#MM2(instance).start()
|
||||
print("Launched all instances")
|
||||
|
||||
if __name__ == '__main__':
|
||||
pwd = dirname(__file__)
|
||||
default = {
|
||||
'log_path' : join(pwd, 'test.log'), # config for log
|
||||
'log_config' : join(pwd, 'configs/logging.cfg'), # where to log
|
||||
# root dir of all instances
|
||||
'instance_root' : '/mnt/airtimepro/instances'
|
||||
}
|
||||
main(default)
|
Loading…
Add table
Add a link
Reference in a new issue