"""CALENDAR table handler.""" from xer_mcp.parser.table_handlers.base import TableHandler class CalendarHandler(TableHandler): """Handler for CALENDAR table in XER files.""" @property def table_name(self) -> str: return "CALENDAR" def parse_row(self, fields: list[str], values: list[str]) -> dict | None: """Parse a CALENDAR row.""" if len(values) < len(fields): values = values + [""] * (len(fields) - len(values)) data = dict(zip(fields, values, strict=False)) # Parse numeric fields day_hr_str = data.get("day_hr_cnt", "") day_hr = float(day_hr_str) if day_hr_str else None week_hr_str = data.get("week_hr_cnt", "") week_hr = float(week_hr_str) if week_hr_str else None return { "clndr_id": data.get("clndr_id", ""), "clndr_name": data.get("clndr_name", ""), "day_hr_cnt": day_hr, "week_hr_cnt": week_hr, }