from core.models import Task, ProgressReport class SheetMapper: @staticmethod def map_rows_to_report(rows: list[list]) -> ProgressReport: tasks = [] for row in rows: # Ensure the row has enough columns, fill missing with empty strings padded_row = row + [""] * (5 - len(row)) task = Task( category=padded_row[0], task_name=padded_row[1], status=padded_row[2], progress=padded_row[3], notes=padded_row[4] ) tasks.append(task) return ProgressReport(tasks=tasks)