21 lines
655 B
Python
21 lines
655 B
Python
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)
|