for m in self.state.machines.values(): new_oplist = [op for op in m.op_list if op.piece_id in self.tracker.pieces_on_transit] removed_ops = [op for op in m.op_list if op.piece_id not in self.tracker.pieces_on_transit] if not new_oplist: print(f'MAKING {m.id} available') m.make_available() for op in removed_ops: m.waiting_time -= op.transform.duration m.op_list = collections.deque(new_oplist)
for m in self.state.machines.values(): new_oplist = [op for op in m.op_list if op.piece_id in self.tracker.pieces_on_transit] removed_ops = [op for op in m.op_list if op.piece_id not in self.tracker.pieces_on_transit] if not new_oplist: print(f'MAKING {m.id} available') m.make_available() for op in removed_ops: m.waiting_time -= op.transform.duration m.op_list = collections.deque(new_oplist)