from multiprocessing import Process from bilibili import Bilibili from config import config from mirrativ import Mirrativ from openrec import Openrec from tools import check_ddir_is_exist, get_logger from twitcasting import Twitcasting from youtube import Youtube, start_temp_daemon logger = get_logger() class Event: def __init__(self): self.events_multi = [] self.gen_process() logger.info(self.events_multi) def start(self): self.start_multi_task() if config['youtube']['enable_temp']: temp = Process(target=start_temp_daemon) temp.run() for event in self.events_multi: event.join() def gen_process(self): if config['youtube']['enable']: for user_config in config['youtube']['users']: y = Youtube(user_config) self.events_multi.append(y) if config['twitcasting']['enable']: for user_config in config['twitcasting']['users']: t = Twitcasting(user_config) self.events_multi.append(t) if config['openrec']['enable']: for user_config in config['openrec']['users']: o = Openrec(user_config) self.events_multi.append(o) if config['mirrativ']['enable']: for user_config in config['mirrativ']['users']: m = Mirrativ(user_config) self.events_multi.append(m) if config['bilibili']['enable']: for user_config in config['bilibili']['users']: b = Bilibili(user_config) self.events_multi.append(b) def start_multi_task(self): for proc in self.events_multi: proc.start() if __name__ == '__main__': check_ddir_is_exist() e = Event() e.start()