()
| 31 | |
| 32 | |
| 33 | def failed_ids() -> list[str]: |
| 34 | if not MAIN_LOG.exists(): |
| 35 | return [] |
| 36 | text = MAIN_LOG.read_text(errors='ignore') |
| 37 | start = text.find('{') |
| 38 | if start == -1: |
| 39 | return [] |
| 40 | payload = json.loads(text[start:]) |
| 41 | return [str(row.get('id')) for row in payload.get('results', []) if row.get('status') != 'ok'] |
| 42 | |
| 43 | |
| 44 | def done_ids() -> set[str]: |