from typing import List from .todo_import_csv_validate_todo_csv import read_todo_csv from .todo_item import Todo def import_csv(csv: str) -> List[Todo]: """Todos from CSV: 13 columns in any order, CRLF or LF, optional BOM; errors name the row (header = row 1).""" reading = read_todo_csv(csv) if reading.problems: raise ValueError(reading.problems[0].thrown) return reading.todos