gendesign/backend/app/services/exporters
Light1YT 815bae5591 feat(exporters): Excel exporter for SiteFinderReport §13 (#991, 955-A5)
Implement export_report_xlsx(report) -> bytes: renders a SiteFinderReport (#987)
to .xlsx via openpyxl, one sheet per §13 section (Сводка/Рынок сейчас/Будущий
рынок/Продукт ТЗ/Сценарии/Скоринг). Deterministic, no LLM/DB/network; bytes via
BytesIO (no disk I/O). Accepts SiteFinderReport or its as_dict(). Graceful on
partial/empty/junk ("нет данных", never crashes). ADVISORY marker on Сводка.
11 tests (openpyxl reload, sheet titles, known cells, graceful). Additive — no
endpoint wiring (#959) or other exporters (#989).
2026-06-03 13:56:55 +05:00
..
__init__.py init 2026-04-25 13:45:19 +03:00
dxf.py init 2026-04-25 13:45:19 +03:00
excel.py feat(exporters): Excel exporter for SiteFinderReport §13 (#991, 955-A5) 2026-06-03 13:56:55 +05:00
layout_tz_pdf.py feat(layouts): PDF ТЗ endpoint + BestLayoutsBlock UI (#113 PR D) (#199) 2026-05-16 09:53:05 +00:00
pdf.py init 2026-04-25 13:45:19 +03:00
snapshot_pdf.py feat(sf-b7): GET /parcels/{cad}/snapshot.pdf — 1-page WeasyPrint export (#334) 2026-05-17 21:11:03 +00:00
trade_in_pdf.py feat(trade-in): TI-2 PDF export 4-page + frontend enable button (#319) 2026-05-17 17:16:48 +00:00