Commit 1aa1286b authored by Jan Reimes's avatar Jan Reimes
Browse files

feat(cli): enhance TDoc table output with meeting details and sources

- Added "Source(s)" and "Meeting" columns to the TDoc results table.
- Updated data retrieval to ensure meeting names are populated in records.
parent ec441d3f
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -29,18 +29,20 @@ def print_tdoc_table(results: list[TDocMetadata]) -> None:
    """Print TDoc results as formatted table."""
    table = Table(title=f"TDoc results ({len(results)} rows)")
    table.add_column("TDoc", style="cyan")
    table.add_column("Meeting ID", style="magenta")
    table.add_column("Title", style="yellow")
    table.add_column("Source(s)", style="magenta")
    table.add_column("Type", style="green")
    table.add_column("Meeting", style="cyan")
    table.add_column("Size (KB)", justify="right", style="blue")

    for result in results[:100]:
        size_kb = f"{result.file_size // 1024}" if result.file_size else "?"
        table.add_row(
            result.tdoc_id,
            str(result.meeting_id or "-"),
            result.title or "-",
            result.source or "-",
            result.tdoc_type or "-",
            result.meeting_name or "-",
            size_kb,
        )

+7 −0
Original line number Diff line number Diff line
@@ -113,8 +113,15 @@ class TDocDatabase(MeetingDatabase):
                meeting = meeting_map.get(record.meeting_id or -1)
                if meeting is None or meeting.tbid not in allowed_tbids:
                    continue
                record = record.model_copy(update={"meeting_name": meeting.short_name})
                filtered.append(record)
            records = filtered
        else:
            # Always ensure meeting_name is populated even without filters
            for i, record in enumerate(records):
                meeting = meeting_map.get(record.meeting_id or -1)
                if meeting:
                    records[i] = record.model_copy(update={"meeting_name": meeting.short_name})

        if config.start_date is not None:
            records = [record for record in records if record.date_retrieved and record.date_retrieved >= config.start_date]