def get_schedules_info(filename): # x,y,z都为字典的拆分所产生出来的临时变量 # 后面会优化 try: r = AutomatorRecorder.getschedule(filename) if len(r['schedules']) > 1: count = 0 for i in r['schedules']: x = list(i.values()) y = list(i.keys()) x[2] = [x[2]] y[2] = 'batchlist' r['schedules'][count] = [dict(zip(y, x))] if count < len(r['schedules']): count = count + 1 elif len(r['schedules']) == 1: x = list(r.values()) y = list(x[0][0].keys()) z = list(x[0][0].values()) for i in range(len(y)): if y[i] == 'batchfile': y[i] = 'batchlist' # if not type(z[i]) is list: z[i] = [z[i]] r['schedules'] = [dict(zip(y, z))] if r: return ListReply(r, 0) else: return 500 except Exception as e: return 500
def save_schedules(): # '{"name":"test","batchlist":["zhuangbeirichang"],"condition":{},"type":"asap"}' try: obj = request.json ScheduleFileName = request.json.get("filename") # old_schedule = AutomatorRecorder.getschedule(ScheduleFileName) obj.pop("filename") save_dict = {"schedules": [obj]} if check_valid_schedule(save_dict, is_raise=False): AutomatorRecorder.setschedule(ScheduleFileName, save_dict) old_schedule = AutomatorRecorder.getschedule(ScheduleFileName) return jsonify({"code": 200, "msg": f"{old_schedule}-保存成功"}) else: return jsonify({"code": 500, "msg": f"{save_dict}-保存失败"}) except Exception as e: return jsonify({"code": 500, "msg": f"{e}-保存失败"})
def __init__(self, name: str, pcr: Optional[PCRInitializer]): self.pcr = pcr self.state = 0 self.config = {} self.SL = [] # 处理后的schedule self.run_status = {} # 运行状态 self.checked_status = {} # 存放一个计划是否已经被add过 self.subs = {} # 关系表 self.not_restart_name = [] # record=1,不用重启的列表 self.always_restart_name = [] # record=2,循环执行的列表 if name != "": self.name = name self.schedule = AutomatorRecorder.getschedule(name) self._parse() self._init_status() else: self.name = "" self.schedule = {} self.run_thread: Optional[threading.Thread] = None