(content: bytes)
| 54 | |
| 55 | |
| 56 | def _read_excel(content: bytes) -> pd.DataFrame: |
| 57 | try: |
| 58 | return pd.read_excel(BytesIO(content)) |
| 59 | except Exception as exc: |
| 60 | raise ValidationError(f"Failed to read Excel file: {exc}", field="file") |
| 61 | |
| 62 | |
| 63 | def _parse_dataframe(df: pd.DataFrame) -> List[BatchTask]: |
no test coverage detected