Source code for grad_visit_scheduler.export

"""Export helpers."""
from __future__ import annotations
import warnings


[docs] def export_visitor_docx( scheduler, filename, *, solution=None, building: str | None = None, font_name: str = "Arial", font_size_pt: int = 11, include_breaks: bool = True, ): """Export a solved visitor schedule to a DOCX document. Parameters ---------- scheduler: Solved scheduler instance containing ``model`` and metadata. filename: Output DOCX filename. solution: Optional ``SolutionResult`` snapshot to export. If omitted, uses the scheduler's most recently solved model assignment. building: Building key used to pick displayed time labels. Defaults to the first configured building. font_name: Font family used in the generated document. font_size_pt: Font size in points. include_breaks: If ``True``, include explicit "Break" rows for unscheduled slots. Returns ------- pathlib.Path Path to the written DOCX file. Raises ------ RuntimeError If the scheduler does not have a feasible solution. ImportError If ``python-docx`` is not installed. """ chosen = solution if solution is not None else scheduler.current_solution() warnings.warn( "grad_visit_scheduler.export_visitor_docx(...) is a legacy helper. " "Prefer SolutionResult.export_visitor_docx(...) via " "sol = Scheduler.schedule_visitors(...) or Scheduler.current_solution().", FutureWarning, stacklevel=2, ) return chosen.export_visitor_docx( filename, building=building, font_name=font_name, font_size_pt=font_size_pt, include_breaks=include_breaks, )