(self, key: str, label: str)
| 52 | self._refresh_cb = cb |
| 53 | |
| 54 | def add(self, key: str, label: str): |
| 55 | if key not in [s["key"] for s in self.steps]: |
| 56 | self.steps.append({"key": key, "label": label, "status": "pending", "detail": ""}) |
| 57 | self._maybe_refresh() |
| 58 | |
| 59 | def start(self, key: str, detail: str = ""): |
| 60 | self._update(key, status="running", detail=detail) |