from glob import glob from json import load from os import path from pycs import ApplicationStatus class ProjectManager: def __init__(self, app_status: ApplicationStatus): # TODO create projects folder if it does not exist # find projects for folder in glob('projects/*'): # load project.json with open(path.join(folder, 'project.json'), 'r') as file: project = load(file) project['status'] = 'close' app_status['projects'].append(project) # subscribe to changes app_status['projects'].subscribe(self.update) def update(self, data): # detect project to load to_load = list(filter(lambda x: x['status'] == 'load', data)) for project in to_load: # TODO actually load pipeline project['status'] = 'open'